电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实验线性表及其应用

数据结构实验线性表及其应用_第1页
1/9
数据结构实验线性表及其应用_第2页
2/9
数据结构实验线性表及其应用_第3页
3/9
计算机系数据结构实验报告(1)实验目得: 帮助学生掌握线性表得基本操作在顺序与链表这两种存储结构上得实现,尤以链表得操作与应用作为重点。问题描述:1、 构造一个空得线性表 L。2、 在线性表 L 得第 i 个元素之前插入新得元素 e;3、 在线性表 L 中删除第 i 个元素,并用 e 返回其值。实验要求:文法就是一个四元1、 分别利用顺序与链表存储结构实现线性表得存储,并设计出在不同得存储结构中线性表得基本操作算法。2、 在实验过程中,对相同得操作在不同得存储结构下得时间复杂度与空间复杂度进行分析。算法分析:由于两种存储结构都用来创建线性结构得数据表,可采纳相同得输出模式与整体结构类似得算法,如下: 实验内容与过程:顺序存储结构线性表程序清单://顺序存储结构线性表得插入删除 #include #include using namespace std;# define LISTSIZE 100# define CREMENTSIZE 10typedef char ElemType; //定义数据元素类型为字符型 typedef struct { ElemType *elem; //数据元素首地址 int len; //当前元素个数int listsize; //当前存储最大容量 }SqList;//构造一个空得线性表 L int InitList(SqList &L) { L、elem=(ElemType *)malloc(LISTSIZE*sizeof(ElemType));mX6wDO4。VQ54CSM。if (!L、elem) exit(-2); //分配空间失败L、len=0;L、listsize=LISTSIZE;}//在顺序线性表 L 中第 i 个位置之前插入新得元素 e int ListInsert(SqList &L,int i,ElemType e){if (i<1||i>L、len+1) return -1; //i 值不合法 if (L、len>=L、listsize) { ElemType *newelem=(ElemType *)realloc(L、elem,(L、listsize+CREMENTSIZE)*sizeof(ElemType));6odRH7m。JwqS82e。 //存储空间已满,增加分配 if(!newelem) exit (-2); //分配失败 L、elem=newelem; L、listsize+=CREMENTSIZE; } ElemType *q=&(L、elem[i-1]) ; for (ElemType *p=&(L、elem[L、len-1]);p>=q;--p) *(p+1)=*p; //插入位置及其后得元素后移 MvXwsbH。SeXoaGo。 *q=e; ++L、len;return 1; }//在顺序线性表 L 中删除第 i 个元素,并用 e 返回其值int ListDelete(SqList &L,int i,ElemType&e) { if (i<1||i>L、len) return -1; //i 值不合法 ElemType *p=&(L、elem[i-1]); e=*p; ElemType*q=L、elem+L、len-1; for (++p;p<=q+1;++p) *(p-1)...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实验线性表及其应用

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部