JAVA实现顺序表
花了十来分钟帮同学写了一个顺序表,顺序表是线性表中最简单的,最容易实现的。顺序表中元素在逻辑上的相邻,在物理上也是相邻的。顺序表可以用数组来实现。下面是实现
/** * 顺序表的储存结构:在逻辑上相邻的元素,他们在物理上也是相邻的 所以可以用数组来实现 * * @author ZDX * */ public class SqList { // 设置顺序表的最大最大长度 private final int maxLen = 1000; // 创建一个字符串数组 可根据需求创建不同的数组来存放不同类型的数组 private String[] arrayData = new String[maxLen]; // 初始化顺序表的长度 private int len = 0; public SqList() { } /** * 在顺序表尾加入元素data * @param data */ public void add(String data){ //判断是否越界 if(len>maxLen){ System.out.println("溢出"); return; } arrayData[len]=data; len++; } /** * 在第i个元素之前插入数据data * * @param i * @param strData */ public void insertAt(int i, String strData) { // 判断是否越界 if (len == maxLen) { System.out.println("溢出"); // 返回,结束函数 return; } else { // 判断插入位置是否正确 if (i <= 0 || i > len) { System.out.println("插入位置不正确"); } else { // 循环赋值即,将i和i以后的所有元素向后移动一位 for (int j = len - 1; j >= i-1; j--) { arrayData[j + 1] = arrayData[j]; } // 将元素插入 arrayData[i - 1] = strData; // 增加顺序表长度 len++; } } } /** * 删除第i个元素 * * @param i */ public void delete(int i) { // 判断删除位置是否正确 if (i <=0 || i > len) { System.out.println("删除位置不正确"); //结束函数 return; } else { // 循环赋值即,将i和i以后的所有元素向前移动一位 for (int j = i-1; j < len-1; j++) { arrayData[j] = arrayData[j+1]; } //顺序表长度减一 len--; } } /** * 打印出顺序表中的所有元素 */ public void diaplay(){ for(int i=0;i<len;i++){ if(i%10==0){ System.out.println(); } System.out.print(arrayData[i]+" "); } System.out.println(); } /** * 获得顺序表长度 * @param args */ public int getSize(){ return len; } }
相关推荐
在Java中,实现顺序表通常使用数组。`BasicSequentialList`可能使用一个`Object`数组来存储任意类型的数据,而`ThreadSafeSequentialList`可能使用`Collections.synchronizedList`或者`synchronized`关键字来确保...
总的来说,`node.java` 和 `SplitList.java` 文件构成了一个简单的顺序表数据结构的实现,包括节点的定义和一系列操作的测试。这个练习有助于理解和熟悉数据结构及其在Java中的实现,这对于任何Java开发者来说都是...
java中顺序表的操作,实现顺序表的初始化,插入,删除,查找,添加等操作。
在Java中,我们可以定义一个线性表接口`LinearList`,然后创建一个实现了该接口的顺序表类`SeqList`。为了处理整数,我们将`LinearList`接口和`SeqList`类中的泛型`T`替换为`Integer`。在`SeqList`类中,我们添加一...
本次课程设计主要围绕顺序表的实现和操作展开,涵盖了顺序表的基本功能,包括初始化、插入、删除、输出(遍历)、销毁、置空表、求表长、查找元素以及判断线性表是否为空等。下面将详细阐述这些知识点。 1. **初始...
本人也在学习当中,今天只编写了一点,后面我会陆续把对应某种数据结构的算法一一实现上传。编写的不好,请大家批评指教!
在Java中,我们可以通过定义一个数组来实现顺序表。 1. **数据插入**: 在顺序表中插入数据,我们需要找到合适的位置并移动数组中的元素。如果顺序表已满,我们需要考虑扩容。以下是一个基本的插入操作示例: `...
C++在C语言的基础上增加了类和对象的概念,因此在C++中实现顺序表,我们可以定义一个名为`SequentialList`的类,该类包含一个动态分配的数组以及当前元素的数量。类的方法可以包括`insert`、`delete`、`search`等,...
在实际应用中,为了应对元素数量的变化,通常使用动态数组(也称为可变大小数组)来实现顺序表。动态数组允许在运行时改变其大小,当需要添加或删除元素时,可以自动调整数组的容量。 5. **C++中的顺序表实现** ...
在`Exercise01.java`和`SeqList.java`这两个文件中,可能分别实现了加减法的测试和顺序表的实现。`Exercise01.java`通常会包含主函数,用于创建大整数的顺序表对象,执行加减法操作,并打印结果。`SeqList.java`则会...
本篇将详细介绍两种通过Java顺序表实现约瑟夫环的方法。 **方法一:通过数组移动** 在这种方法中,我们首先创建一个数组来模拟环状结构,数组的索引代表每个人的编号。每次执行“杀掉”操作时,我们将数组中指定...
顺序存储结构线性表的java实现代码,要在jdk1.6以上环境下运行
在Java中,我们可以用数组来实现顺序表,因为数组提供了连续的内存空间,使得元素可以按索引顺序存储和访问。本节我们将深入探讨Java中顺序表的实现、其特点以及相关操作。 顺序表的基本概念是将数据元素按照线性...
(1)创建一个顺序表,存放在数组 A[N]中,元素的类型为整型,设计算法调整 A,使其左边的所有元素小于 0,右边的所有元素大于 0(要求算法的时间复杂度和空间复杂度均为 O(n))。 (2)建立一个循环单链表,其节点...
本示例重点讨论了如何使用Java实现顺序表(Sequential List),这是一种简单的线性数据结构,其中元素按顺序存储在数组中。顺序表通常提供O(1)的访问速度,但插入和删除操作可能需要移动大量元素,因此在效率上不如...
线性表是计算机科学中一种基础且...顺序表的实现可以使用C/C++的数组,也可以使用其他高级语言如Java、Python中的列表。理解并掌握顺序表的概念及其操作,对于学习更复杂的数据结构如栈、队列、树等有着基础性的帮助。
刘小晶教授的"数据结构—例2.7"讲解了一个使用顺序表结构实现的学生成绩管理系统,这是一个典型的实际应用案例,有助于深入理解数据结构在实践中的应用。 首先,我们要明白什么是顺序表。顺序表是一种线性数据结构...
在C++中,可以使用数组来实现顺序表。它的优点是访问速度快,因为元素的位置是已知的,可以直接通过下标访问。但是插入和删除操作可能需要移动大量元素,效率相对较低。在学生管理系统中,顺序表可以用于存储学生...