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

实验一--线性表的实验VIP免费

实验一--线性表的实验_第1页
1/18
实验一--线性表的实验_第2页
2/18
实验一--线性表的实验_第3页
3/18
实验一线性表的实验实验课程名:C语言程序设计专业班级:学号:姓名实验时间:实验地点:指导教师:一、实验目的及要求1、掌握用VisualC++6.0调试顺序表的基本方法。2、掌握顺序表的基本操作,插入、删除、查找、以及有序顺序表的合并等算法的实现。3、掌握用VisualC++6.0上机调试单链表的基本方法。4、掌握单链表的插入、删除、查找、求表长以及有序单链表的合并算法的实现。5、进一步掌握循环单链表的插入、删除、查找算法的实现。二、实验内容1、任务一:用顺序表实现通讯录管理(2)构建如表1所示的顺序表并输出检验,实现表1。(3)增加插入记录的功能并输出检验,实现表2。(4)增加按学号查找的功能并运行验证。(5)增加删除记录的功能并运行验证。表1学号姓名性别手机号码QQ号2013001张珊女1380000191934578表22013002李思女1391012197887965322013003陈琪女1378945001237891232013004王强男1363456785665437832013005赵括男1353440897656792013006刘刚男1338654321198315注意:用结构化程序设计的方法实现即(其中的)把单一功能设计成一个独立的函数。如构建顺序表设计成一个函数,同样插入、查找、删除、输出也设计成独立的函数。解答:(1)源代码:#include#include#include#defineMaxSize10typedefstruct{charxuehao[14];//学号charname[20];//姓名intsex;//性别chartel[14];//联系电话charqq[12];//QQ号}ElemType;1typedefstruct{ElemType*list;intlength;intsize;}SeqList;voidInitSeqList(SeqList*L){charflag;inti,n;ElemType*p;L->list=(ElemType*)malloc(MaxSize*sizeof(ElemType));L->length=0;L->size=MaxSize;printf("是否输入初始数据?(Y/N)");scanf("%c",&flag);if(flag=='N'||flag=='n')return;printf("请输入初始化数据的个数:");scanf("%d",&n);if(n>L->size){printf("数据太多,不足以存储!");return;}p=L->list;L->length=n;for(i=0;ixuehao,p->name,&p->sex,p->tel,p->qq);p++;}return;}voidPrintSeqList(SeqList*L){inti;printf("学号姓名性别联系电话QQ号\n");for(i=0;ilength;i++){printf("%s\t%s\t",L->list[i].xuehao,L->list[i].name);if(L->list[i].sex)printf("男");2elseprintf("女");printf("\t%s\t%6s\n",L->list[i].tel,L->list[i].qq);}}/*intmain(){SeqListL;InitSeqList(&L);PrintSeqList(&L);return0;}*/intInsertSeqList(SeqList*L,inti,ElemType*e){ElemType*q,*p;if(L->length+1>L->size){printf("表满,失败!");return0;}if(i<1||i>L->length+1){printf("插入位置错误,失败!");return0;}q=&(L->list[i-1]);for(p=&(L->list[L->length-1]);p>=q;p--)*(p+1)=*p;*(p+1)=*e;L->length++;return1;}/*intmain(){ElemTypee;SeqListL;InitSeqList(&L);PrintSeqList(&L);printf("请输入要插入的数据(学号姓名性别(0或1)联系电话QQ号):\n");scanf("%s%s%d%s%s",e.xuehao,e.name,&e.sex,e.tel,e.qq);printf("学号姓名性别联系电话QQ号\n");printf("%s\t%s\t",e.xuehao,e.name);if(e.sex)printf("男");elseprintf("女");printf("\t%s\t%6s\n",e.tel,e.qq);3InsertSeqList(&L,2,&e);PrintSeqList(&L);return0;}*/intLocateList(SeqList*L,char*x){inti=0;while(ilength&&strcmp(L->list[i].xuehao,x))++i;if(ilength){printf("\n学号姓名性别联系电话QQ号\n");printf("%s\t%s\t",L->list[i].xuehao,L->list[i].name);if(L->list[i].sex)printf("男");elseprintf("女");printf("%s\t%6s\n",L->list[i].tel,L->list[i].qq);returni+1;}return0;}/*intmain(){SeqListL;InitSeqList(&L);PrintSeqList(&L);printf("输出查询结果:\n");LocateList(&L,"02");return0;}*/intDeleteList(SeqList*L,inti)4{intj;ElemType*q,*p;if(L->length==0){printf("表空,删除失败!\n");return0;}if(i<1||i>L->length){printf("删除位置错,失败!\n");return0;}p=&(L->list[i-1]);for(q=&(L->list...

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

碎片内容

实验一--线性表的实验

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