`
come_for_dream
  • 浏览: 120832 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JAVA实现顺序表

 
阅读更多

                                                                    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实现

    在Java中,实现顺序表通常使用数组。`BasicSequentialList`可能使用一个`Object`数组来存储任意类型的数据,而`ThreadSafeSequentialList`可能使用`Collections.synchronizedList`或者`synchronized`关键字来确保...

    java表述的数据结构(顺序表)

    总的来说,`node.java` 和 `SplitList.java` 文件构成了一个简单的顺序表数据结构的实现,包括节点的定义和一系列操作的测试。这个练习有助于理解和熟悉数据结构及其在Java中的实现,这对于任何Java开发者来说都是...

    java中顺序表的操作

    java中顺序表的操作,实现顺序表的初始化,插入,删除,查找,添加等操作。

    数据结构(Java语言描述) 案例01 顺序表的就地逆置.docx

    在Java中,我们可以定义一个线性表接口`LinearList`,然后创建一个实现了该接口的顺序表类`SeqList`。为了处理整数,我们将`LinearList`接口和`SeqList`类中的泛型`T`替换为`Integer`。在`SeqList`类中,我们添加一...

    有关顺序表的课程设计

    本次课程设计主要围绕顺序表的实现和操作展开,涵盖了顺序表的基本功能,包括初始化、插入、删除、输出(遍历)、销毁、置空表、求表长、查找元素以及判断线性表是否为空等。下面将详细阐述这些知识点。 1. **初始...

    java实现的顺序表数据结构

    本人也在学习当中,今天只编写了一点,后面我会陆续把对应某种数据结构的算法一一实现上传。编写的不好,请大家批评指教!

    java算法(顺序表操作实例)

    在Java中,我们可以通过定义一个数组来实现顺序表。 1. **数据插入**: 在顺序表中插入数据,我们需要找到合适的位置并移动数组中的元素。如果顺序表已满,我们需要考虑扩容。以下是一个基本的插入操作示例: `...

    顺序表实现源码(C、C++、Java)

    C++在C语言的基础上增加了类和对象的概念,因此在C++中实现顺序表,我们可以定义一个名为`SequentialList`的类,该类包含一个动态分配的数组以及当前元素的数量。类的方法可以包括`insert`、`delete`、`search`等,...

    顺序表的实现

    在实际应用中,为了应对元素数量的变化,通常使用动态数组(也称为可变大小数组)来实现顺序表。动态数组允许在运行时改变其大小,当需要添加或删除元素时,可以自动调整数组的容量。 5. **C++中的顺序表实现** ...

    顺序表实现大整数加减JAVA

    在`Exercise01.java`和`SeqList.java`这两个文件中,可能分别实现了加减法的测试和顺序表的实现。`Exercise01.java`通常会包含主函数,用于创建大整数的顺序表对象,执行加减法操作,并打印结果。`SeqList.java`则会...

    java顺序表实现约瑟夫环的两种方法

    本篇将详细介绍两种通过Java顺序表实现约瑟夫环的方法。 **方法一:通过数组移动** 在这种方法中,我们首先创建一个数组来模拟环状结构,数组的索引代表每个人的编号。每次执行“杀掉”操作时,我们将数组中指定...

    顺序线性表的java实现代码

    顺序存储结构线性表的java实现代码,要在jdk1.6以上环境下运行

    顺序表实现

    在Java中,我们可以用数组来实现顺序表,因为数组提供了连续的内存空间,使得元素可以按索引顺序存储和访问。本节我们将深入探讨Java中顺序表的实现、其特点以及相关操作。 顺序表的基本概念是将数据元素按照线性...

    数据结构实验线性表(用java创建顺序表与链表并解决实验题目)

    (1)创建一个顺序表,存放在数组 A[N]中,元素的类型为整型,设计算法调整 A,使其左边的所有元素小于 0,右边的所有元素大于 0(要求算法的时间复杂度和空间复杂度均为 O(n))。 (2)建立一个循环单链表,其节点...

    java数据结构实现顺序表示例

    本示例重点讨论了如何使用Java实现顺序表(Sequential List),这是一种简单的线性数据结构,其中元素按顺序存储在数组中。顺序表通常提供O(1)的访问速度,但插入和删除操作可能需要移动大量元素,因此在效率上不如...

    线性表之顺序表

    线性表是计算机科学中一种基础且...顺序表的实现可以使用C/C++的数组,也可以使用其他高级语言如Java、Python中的列表。理解并掌握顺序表的概念及其操作,对于学习更复杂的数据结构如栈、队列、树等有着基础性的帮助。

    数据结构—刘小晶—例2.7——用顺序表结构写的学生成绩管理系统

    刘小晶教授的"数据结构—例2.7"讲解了一个使用顺序表结构实现的学生成绩管理系统,这是一个典型的实际应用案例,有助于深入理解数据结构在实践中的应用。 首先,我们要明白什么是顺序表。顺序表是一种线性数据结构...

    学生管理系统利用顺序表实现

    在C++中,可以使用数组来实现顺序表。它的优点是访问速度快,因为元素的位置是已知的,可以直接通过下标访问。但是插入和删除操作可能需要移动大量元素,效率相对较低。在学生管理系统中,顺序表可以用于存储学生...

Global site tag (gtag.js) - Google Analytics