C语言线性表顺序存储结构实例详解
1、 什么是顺序存储结构?
用一段地址连续的存储单元依次存储线性表的数据元素。
2、线性表的顺序存储结构
3、顺序表的初始化操作是为顺序表分配一个预定大小的数组空间,并将顺序表的长度设为0。
<一>int InitList(SqList &L){ L.elem=(int *)malloc(Max*sizeof(int)); if(!L.elem) return;//exit(0); //存储分配失败 L.length=0; //空表长度为0 L.size=Max; //初始存储容量 return Ok;} <二>int CreatList(SqList &L){ L.elem=(int *)malloc(Max*sizeof(int)); if(!L.emle) return;//exit(0); L.length=0; L.size=Max; printf("请输入表的长度:"); scanf("%d",&L.length); printf("请输入%d个数:",L.length); for(i=0;i<L.length;i++) scanf("%d",&L.elem[i]);}4.获取元素操作:将线性表中的第i个位置元素值位置返回
int GetElem(SqList &L,int i,int e) { // 1 <= i <= L.length if( i <1 || i > L.length) return ERROR; *e=L.elem[i-1]; return Ok;}5线性表的插入操作
6、删除元素```
int ListDelete(SqList &L,int i,int *e){ int k; if(L.length==0) //线性表为空 return ERROR; if(i<1||i>L.length) //插入不正确 return ERROR; *e=L.elem[i-1]; if(i<L.length) //如果插入不是最后的位置 { for(k=i;k<L.length;k++) L.elem[k-1]=L.elem[k]; } L.length-- return OK;}感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!