public class ShunXuBiaoShi<E> {
private int size=-1;
private E[] data=(E[])new Object[10];;
//判断是否为空
public boolean listEmpty() {
return size == 0;
}
//求表中的个数
public int length() {
return size+1;
}
//返回第i个元素
public E getElem(int i) {
if (i <= size) {
return data[i];
}
return null;
}
// 返回第一个elem的位子
public int locateElem(E elem) {
for (int i = 0; i < size; i++) {
if (elem.equals(data[i])) {
return i;
}
}
return -1;
}
// 返回前驱元素
public E priorElem(E elem) {
int locate = locateElem(elem);
if (locate == 0) {
return null;
} else {
return data[locate - 1];
}
}
// 返回后继元素
public E nextElem(E elem) {
int locate = locateElem(elem);
if (locate == size) {
return null;
} else {
return data[locate + 1];
}
}
// 插入元素,在顺序连表最后插入
public void insertElem(E elem) {
size = size + 1;
if (size >data.length) {
E[] tempdata = (E[]) new Object[data.length + 5];
int j = 0;
for (int i = 0; i < data.length; i++) {
tempdata[j++] = data[i];
}
data = tempdata;
}
data[size] = elem;
}
// 在第i个元素之前插入元素
public void insertElem(int k, E elem) {
size = size + 1;
if (size >= data.length) {
E[] tempdata = (E[]) new Object[data.length + 5];
int j = 0;
// 把元素复制到新数组中
for (int i = 0; i < data.length; i++) {
tempdata[j++] = data[i];
}
data = tempdata;
}
for (int m = size; m >k; m--) {
data[m] = data[m-1];
}
data[k] = elem;
}
//删除第k个元素
public E deleteElem(int k){
E elem;
if(k>=0&&k<data.length){
elem=data[k];
for(int i=k;i<size;i++){
data[i]=data[i+1];
}
size--;
return elem;
}
return null;
}
public String toString() {
String s="[";
for(int i=0;i<size;i++){
s=s+data[i]+",";
}
s=s+data[size]+"]";
return s;
}
}
分享到:
相关推荐
线性表是计算机科学中一种基础的数据结构,它是由n(n≥0)个...以上就是关于线性表顺序实现动态显示插入删除的基本概念和实现方法。在实际应用中,还需要考虑错误处理、多线程安全等问题,以确保代码的健壮性和性能。
下面我们将详细讨论线性表顺序实现的相关知识点。 ### 1. 线性表的基本操作 线性表的顺序实现通常包括以下基本操作: - **初始化**:创建一个空的线性表。 - **插入元素**:在线性表的指定位置插入一个新元素。...
内容概要:本文档详细介绍了线性表(顺序表)的基本概念、定义以及一系列基本操作的实现,包括线性表的初始化、插入、查询、遍历等功能,并提供了完整的源代码实例来帮助读者理解和掌握。 适合人群:适合对数据结构...
本话题将深入探讨线性表的顺序存储结构及其在C语言中的算法实现,包括线性表的输入输出、插入、删除以及长度和置空操作。 1. **线性表的顺序存储结构** 在顺序存储结构中,线性表的元素在内存中以数组的形式存储,...
"线性表--顺序结构"这个文件很可能包含了关于线性表顺序实现的详细讲解,包括但不限于基本概念、操作算法、性能分析以及相关的编程实现示例。通过深入学习和实践,可以掌握线性表顺序实现的关键技术和应用场景,这...
线性表顺序存储实现,学习数据结构的链表中较为基础的顺序链表存储,实现对应的。h文件的函数实现
本文将深入探讨线性表顺序存储的实现,以及与其相关的算法和数据结构知识。 首先,顺序存储结构通常采用数组来实现。数组是一种在内存中连续存储的数据结构,每个元素可以通过下标访问。线性表的元素在数组中依次...
线性表顺序存储demo,实现了线性表顺序存储的基本操作
### 实验一 线性表的顺序存储实验 #### 实验目的 1. **掌握在Visual C++ 6.0环境下调试顺序表的基本方法**:通过本实验,学生能够熟悉Visual C++ 6.0集成开发环境,并学会如何在这个环境中进行程序的编写、编译与...
线性表是计算机科学中一种基础的数据结构,它是由n(n≥0)个相同...提供的文件"02-线性表的顺序存储与实现"很可能是关于如何在具体编程语言中实现这些操作的示例代码,可以作为学习和理解线性表顺序存储的参考资料。
在计算机科学中,线性表的顺序实现是指在线性表中的元素按其逻辑顺序存储在一块连续的内存区域中,这种实现方式通常称为顺序表。下面将详细介绍线性表的顺序实现及其相关操作。 首先,线性表的顺序实现涉及到数组...
线性表的顺序存储的c语言实现,带有注释,简洁明了,一看即懂
以上就是关于“数据结构之线性表的顺序表示和实现”的主要知识点,以及可能的代码实现结构。通过这三个文件,我们可以学习如何在C++中实现一个基本的顺序表,并对其进行操作。这不仅有助于理解数据结构的基础,也为...
C++数据结构 线性表顺序存储结构实现通讯录
以上就是线性表顺序表示的理论基础以及C语言实现的源码概述。通过这些基本操作,我们可以实现对线性表的各种操作,如排序、搜索、合并等。线性表是许多复杂数据结构的基础,理解并掌握其原理和实现方法对于学习数据...
本资源提供了一个关于线性表顺序存储结构的操作实验指导书,涵盖了线性表的基本运算、顺序存储结构的实现、主程序设计等内容。实验的目的是掌握用 VC++ 调试程序的基本方法、线性表的基本运算、设计主程序和处理简单...
通过此次实验,学生不仅掌握了线性表顺序存储结构的基本概念与实现方法,还学会了如何运用VC++进行程序调试以及设计简单的用户交互界面。这些技能对于以后的学习和工作都将是宝贵的财富。此外,通过亲手实现线性表的...