1.顺序表的定义 顺序表是线性表的顺序表示,即用一组地址连续的存储单元依次存储线性表的数据元素。 2.顺序表的存储结构 为了使顺序表的空间分配尽可能不受限制,这里先让顺序表的初始化容量为8,当空间不足时再对容量进行扩展,每次容量的增量为3。 #define SEQLIST_INIT_SIZE 8 / ...
分类:
其他好文 时间:
2020-08-03 12:18:10
阅读次数:
69
在学完线性表之后,总结一下顺序表的优缺点 优点 无须为元素之间的逻辑结构增添额外的储存空间,自成一体。 随机存取,十分方便。 缺点 空间利用率不高,容易造成“碎片”。 插入删除操作需要移动大量的元素。 当线性表的长度变化较大时,难以确定储存空间的容量。 而单链表可以很好的弥补顺序表的这些缺点。 一、 ...
分类:
其他好文 时间:
2020-08-01 21:38:58
阅读次数:
104
1,单链表分为带头结点和不带头结点,带头节点的好处,只有实际写代码后才能体会出来。可以类比顺序表中的哨兵 好处: 1,第1个位置的插入、删除更加方便,带来操作上的统一。 2,对于头插法: 不带头结点的链表,插入第一个结点时,需要特殊处理,删除操作类似. 3,优势2:统一空表和非空表的处理 举例:无头 ...
分类:
其他好文 时间:
2020-07-24 16:29:50
阅读次数:
59
1、实现简单的顺序表 2、使用顺序表实现一元多项式的构造 一、实现简单的顺序表 #include "ElemType.h" #include "stdlib.h" #ifndef DATASTRUCTURE_SQLIST_H #define DATASTRUCTURE_SQLIST_H #endif ...
分类:
其他好文 时间:
2020-07-21 22:35:51
阅读次数:
88
重学数据结构(二) 对线性表的顺序表进行实现 public abstract class MyList<T>{ //定义顺序表的初始容量 final int maxSize = 10; //对数据元素进行存储 private T[] list; //顺序表中元素的个数 private int len ...
分类:
其他好文 时间:
2020-07-21 21:35:38
阅读次数:
51
根据线性表的实际存储方式,分为两种实现模型: 顺序表 ,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。 链表 ,将元素存放在通过链接构造起来的一系列存储块中。 一、顺序表 在Java中,顺序表的结构主要有:数组、ArrayList ArrayList 的 本质是对 ...
分类:
编程语言 时间:
2020-07-19 17:47:51
阅读次数:
71
1,线性表并不等于数组,线性表可以通过数组实现也可以通过链表实现,它是ADT的一种,除了包含数据,也包含对这些数据的处理(可以理解为函数)。 2,它像类一样封装,就像理解操作系统中的管道。 考点: 1,线性表分为顺序表和链表,要熟悉相关的基本操作,进而组合实现出复杂的操作。 2,主要是算法设计题,结 ...
分类:
其他好文 时间:
2020-07-18 22:33:40
阅读次数:
66
目录 1、顺序表的概念 2、顺序表的的存储表示和实现 3、基本操作的实现 3.1初始化 3.2取值 3.3查找 3.4插入 3.5删除 4、测试线性表的功能 1、顺序表的概念:使用一段连续的存储空间存储线性表的元素 2、顺序表的存储表示和实现 /** * 线性表的顺序表示和实现(数组) */ //操 ...
分类:
其他好文 时间:
2020-07-17 13:44:21
阅读次数:
59
顺序查找 算法思想 算法实现 算法优化 顺序查找的算法思想 顺序查找,又叫“线性查找”,通常用于线性表 从头到尾查 顺序查找的实现 typedef struct{ //查找表的数据结构(顺序表) ElemType *elem; //动态数组的基址 int TableLen; //表的长度 }SSTa ...
分类:
其他好文 时间:
2020-07-15 23:37:04
阅读次数:
97
一、插入排序 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 直接插入排序代码实现 1 void InsertSort(SqList &L){ 2 //对顺序表L做直接插入排序 3 for(i=2;i<=L.length;++i) 4 if(L.r[ ...
分类:
其他好文 时间:
2020-07-12 16:45:08
阅读次数:
60