求数据结构试验 线性表的顺序存储结构 实验一 线性表的顺序存储结构一、实验类型:设计性(2课时)二、实验目的与任务:掌握顺序存储结构的特点,掌握动态顺序存储结构的常见。
数据结构线性表实验 线性结构的基本特征为: 设线性表采用带表头附加结点的单链表存储结构,请编写线性表抽象数据类型各基本操作的实现函数,并存放在头文件LinkList.h中同时建立一个验证操作。
数据结构线性表实验 #include#include#define LIST_INIT_SIZE 100#define LISTINCREMENT 10 typedef struct{ int*elem;int length;int listsize;}SqList;SqList sq;void InitList_Sq(SqList*sq)/初始化列表 { sq->;elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));sq->;length=0;sq->;listsize=LIST_INIT_SIZE;printf(\"-申请空间成功-。\\n\");} void GetElem(SqList*sq,int i)/获取第i位置元素的值 { int*p;p=(sq->;elem[i-1]);printf(\"%d\",*p);printf(\"\\n\");} int ListInsert_Sq(SqList*sq,int i,int a)/在i位置之前插入a { int*p,*q;if(isq->;length+1){ printf(\"-位置不合法-。\\n\");return 0;} if(sq->;length>;=sq->;listsize){ int*newbase=(int*)realloc(sq->;elem,(sq->;listsize+LISTINCREMENT)*sizeof(int));if。newbase){ printf(\"申请空间溢出\\n\");return 0;} sq->;elem=newbase;sq->;listsize+LISTINCREMENT;} p=(sq->;elem[i-1]);p指向第i位置的元素 q=(sq->;elem[sq->;length-1]);q指向最后一个元素 for;q>;=p;q)*(q+1)=*q;p=a;sq->;length;return 1;} int ListDelete_Sq(SqList*sq,int i)/删除i位置上的值 { int*p,*q;if(isq->;length)return 0;p=(sq->;elem[i-1]);p指向第i位置的元素 q=sq->;elem。