数据结构-----线性表的顺序存储
2018-01-25 16:56
274 查看
数据结构---线性表的顺序存储
线性表的顺序存储结构是指用一段地址连续的存储单元依次存储线性表的存储元素。
一般用一维数组来实现顺序存储结构。
1.顺序存储结构需要三个属性:①数组data②数组最大存储容量maxsize③线性表长度length
结构代码:
#define MaxSize 20
typedef struct list{
int data[ManSize];
int length;
}sqlist;
2. 顺序存储结构的初始化
3.获取第i个元素值
4.插入元素
5.删除元素
int ListInsert(sqlist *L,int i,int *e)
{
int k;
if(L->length == 0)
return ERROR; //线性表表不为空
if((i<1)||(i>L->length)) //i的位置要合理
return ERROR;
*e = L->data[i-1] //将要删除的元素通过指针返回
for(k=i-1;k<L->length-1;k++)
L->data[k] = L->[k+1];
L->length--;
return OK;
}
2. 线性表顺序存储的优点:
①可以快速读取表中任意位置的元素;
②不必为表示表中数据间的逻辑关系而增加额外的存储空间。
3. 线性表顺序存储的缺点:
①插入删除操作需要移动大量的元素;
②难以确定存储空间的容量;
③造成存储空间的“碎片”。
线性表的顺序存储结构是指用一段地址连续的存储单元依次存储线性表的存储元素。
一般用一维数组来实现顺序存储结构。
1.顺序存储结构需要三个属性:①数组data②数组最大存储容量maxsize③线性表长度length
结构代码:
#define MaxSize 20
typedef struct list{
int data[ManSize];
int length;
}sqlist;
2. 顺序存储结构的初始化
int InitList(sqlist *L) { L = (sqlist*)malloc(sizeof(sqlist)); L->length = 0; return OK; }
3.获取第i个元素值
int GetElem(sqlist *L,int i,int *e) { if((L->length < i)||(i<1)) return ERROR; *e = L->data[i-1]; return OK; }
4.插入元素
int ListInsert(sqlist *L,int i,int e) { int k; if(L->length == MaxSize) //线性表已满 return ERROR; if((i<1)||(i>L->length+1)) //i的位置要合理 return ERROR; if(i<L->length) //插入数据的位置不在表尾 { for(k=L->length;k>=i;k--) L->data[k] = L->[k-1]; } L->data[i-1] = e; L->length++; return OK; }
5.删除元素
int ListInsert(sqlist *L,int i,int *e)
{
int k;
if(L->length == 0)
return ERROR; //线性表表不为空
if((i<1)||(i>L->length)) //i的位置要合理
return ERROR;
*e = L->data[i-1] //将要删除的元素通过指针返回
for(k=i-1;k<L->length-1;k++)
L->data[k] = L->[k+1];
L->length--;
return OK;
}
2. 线性表顺序存储的优点:
①可以快速读取表中任意位置的元素;
②不必为表示表中数据间的逻辑关系而增加额外的存储空间。
3. 线性表顺序存储的缺点:
①插入删除操作需要移动大量的元素;
②难以确定存储空间的容量;
③造成存储空间的“碎片”。
相关文章推荐
- 数据结构:线性表(顺序存储)顺序栈类(实现创建,输出,入栈出栈,读栈顶元素功能)
- 数据结构例程——线性表顺序存储的应用
- 数据结构例程——线性表顺序存储的应用
- C/C++ 数据结构---线性顺序存储数据:查询快,增删慢
- 数据结构-线性表的顺序存储实现及各种操作代码
- 线性表的顺序存储实现(陈越数据结构版)
- 数据结构:线性表的顺序存储--Java实现
- 数据结构入门学习系列-3(线性表的顺序存储)
- C _数据结构 _线性表的顺序存储
- 【数据结构】对于线性表的顺序和链接两种存储方式的主要优缺点
- 数据结构 线性表的顺序存储
- 线性表-顺序存储(Java数据结构)
- Java数据结构——线性表的顺序存储实现
- 数据结构之线性表的顺序存储
- #1:数据结构:线性表 - 顺序存储类型;
- 跟我学数据结构--线性表的顺序存储
- 数据结构学习笔记-线性表顺序存储(C语言实现)
- 数据结构 线性表之顺序存储
- 数据结构之线性表代码实现顺序存储,链式存储,静态链表(选自大话数据结构)
- 数据结构--线性表(顺序存储)