线性表的顺序存储c程序实现
3页1、线性表的顺序存储c程序实现线性表是有限的同类型数据的序列。在下文定义的线性表结构SqList中,其最大长度为MAXSIZE,当前长度为len,每一个元素类型都相同,并且len小于等于MAXSIZE。线性表的顺序存储结构的优点:无需为表示线性表中存储数据的逻辑关系而浪费额外的存储空间,可以快速的随机的取表中任意位置的元素。线性表的顺序存储结构的缺点:插入和删除要移动大量数据、存储空间的容量难以确定而且分配之后浪费很大、造成存储空间“碎片”。以下程序在eclipse下运行,能演示线性表顺序存储结构插入、删除等基本操作。/* = Name : SqList.c Author : lip Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style = */#include #include #define MAXSIZE 50typedef int ElemType;typedef structElemType dataMAXSIZE;int len;SqList;#define
2、TRUE 1#define FALSE -1typedef enumERROE=-1,OK=1Status;/*用a返回线性表S的第i个元素(即i-1位置的元素)的值*/Status GetElem(SqList S,int i,ElemType *a)if(S.len = 0)|(iS.len) /*表为空或者i不在表范围内*/return ERROE; /*返回查找失败*/*a=S.datai-1; /*a表示i-1位置的元素*/return OK; /*返回查找成功*/*在线性表s的第i个位置之前插入元素e*/Status ListInsert(SqList *s,int i,ElemType a)int j;if(s-len = MAXSIZE) /*表已满*/return ERROE; /*返回插入失败*/if(is-len+1) /*i不在表范围内*/return ERROE; /*返回插入失败*/if (i len) /*要插入的元素不在表尾*/for (j = s-len; j = i - 1; j-) /*要插入数据的位置以后的元素依次后移一位*/s-dataj +
3、1 = s-dataj;s-datai-1=a; /*数据a插入第i-1位置*/s-len+; /*插入后长度加一*/return OK; /*返回插入成功*/*删除表s的第i个元素,用a表示删除的值*/Status ListDelete(SqList *s,int i,ElemType *a)int j;if(s-len = 0) /*表为空*/return ERROE; /*返回删除错误*/if(is-len) /*删除的位置不在表范围内*/return ERROE; /*返回删除错误*/*a=s-datai-1; /*a表示要删除的值*/if(ilen) /*要删除元素不在表尾*/for(j=i;jlen;j+) /*要删除元素以后的每个值都向前移动一位*/s-dataj-1=s-dataj;s-len-; /*表长度减一*/return OK; /*返回删除成功*/*打印表s的所有数据*/void ListDisplay(SqList *s)int i;printf(SqList test is: );for(i=0;ilen;i+)printf(%d ,s-datai);printf(n);int main(void)SqList test;test.len=0;ListDisplay(&test);int i;for(i=0;i10;i+)ListInsert(&test,i,i*2);printf(insert data %d,now ,i*2);ListDisplay(&test);int data=0;GetElem(test,5,&data);printf(SqList test fifth data is %dn,data);printf(SqList test fifth data is %dn,test.data4);int len=test.len;for(i=0;ilen;i+)int b;ListDelete(&test,1,&b);printf(delete data %d,now ,b);ListDisplay(&test);return EXIT_SUCCESS;
《线性表的顺序存储c程序实现》由会员ni****g分享,可在线阅读,更多相关《线性表的顺序存储c程序实现》请在金锄头文库上搜索。
2023年装饰公司全套规章制度
2023年06月山东省商务厅幼儿园招考聘用5人笔试题库含答案解析
班主任致小学生家长的一封信
监理工程师《建设工程监理基本理论与相关法规》考前冲刺密押卷含答案77
防灾减灾讲话稿
2023房屋租赁合同律师版(3篇)
车辆租赁协议常规版(八篇).doc
司法所各项工作制度司法所制度牌
2023年高一英语必修三第一单元重要知识点讲解重要词汇语法等
九上期末测试(教育精品)
工厂生产安全事故应急预案
物业日常管理的职责(五篇).doc
财务经理岗位职责标准版(十篇)
2020年公司财务会计个人年终工作总结
工作总结暑期家教实践报告心得
读幸福的方法有感随笔5篇
2013-2014第二学期七年级语文期中测试题附答案
业务员本周工作计划
人教版2013年小学数学二年级上册第一单元练习题(共三套模拟试题)
某品牌高端海盐果味饮料汤料营销
2023-12-22 63页
2023-11-07 101页
2023-05-11 87页
2022-12-09 87页
2023-08-30 64页
2022-10-10 97页
2023-03-24 63页
2022-12-25 75页
2023-06-11 7页
2023-10-28 7页