欢迎来到天天文库
浏览记录
ID:24039027
大小:230.00 KB
页数:17页
时间:2018-11-12
《实验一 线性表的实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、-实验一线性表的实验实验课程名:C语言程序设计专业班级:学号:姓名实验时间:实验地点:指导教师:一、实验目的及要求1、掌握用VisualC++6.0调试顺序表的基本方法。2、掌握顺序表的基本操作,插入、删除、查找、以及有序顺序表的合并等算法的实现。3、掌握用VisualC++6.0上机调试单链表的基本方法。4、掌握单链表的插入、删除、查找、求表长以及有序单链表的合并算法的实现。5、进一步掌握循环单链表的插入、删除、查找算法的实现。二、实验内容1、任务一:用顺序表实现通讯录管理(2)构建如表1所示的顺序表并输出检验,实现表1。(3)增加插入记录的功能并输出检验,实现表2。(4)增加按学号
2、查找的功能并运行验证。(5)增加删除记录的功能并运行验证。表1学号姓名性别手机号码QQ号2013001张珊女1380000191934578表22013002李思女1391012197887965322013003陈琪女1378945001237891232013004王强男1363456785665437832013005赵括男1353440897656792013006刘刚男1338654321198315注意:用结构化程序设计的方法实现即(其中的)把单一功能设计成一个独立的函数。如构建顺序表设计成一个函数,同样插入、查找、删除、输出也设计成独立的函数。解答:(1)源代码:#inc
3、lude#include#include#defineMaxSize10typedefstruct{charxuehao[14];//学号charname[20];//姓名intsex;//性别chartel[14];//联系电话charqq[12];//QQ号}ElemType;typedefstruct{ElemType*list;intlength;intsize;----}SeqList;voidInitSeqList(SeqList*L){charflag;inti,n;ElemType*p;L->list=(Elem
4、Type*)malloc(MaxSize*sizeof(ElemType));L->length=0;L->size=MaxSize;printf("是否输入初始数据?(Y/N)");scanf("%c",&flag);if(flag=='N'
5、
6、flag=='n')return;printf("请输入初始化数据的个数:");scanf("%d",&n);if(n>L->size){printf("数据太多,不足以存储!");return;}p=L->list;L->length=n;for(i=0;i7、Q号):",i+1);scanf("%s%s%d%s%s",p->xuehao,p->name,&p->sex,p->tel,p->qq);p++;}return;}voidPrintSeqList(SeqList*L){inti;printf("学号姓名性别联系电话QQ号");for(i=0;ilength;i++){printf("%st%st",L->list[i].xuehao,L->list[i].name);if(L->list[i].sex)printf("男");elseprintf("女");printf("t%st%6s",L->list8、[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<19、10、i>L->length+1){printf("插入位置错误,失败!");return0;}q=&(L->list[i-1]);for(p=&(L->list[L->leng11、th-1]);p>=q;p--)*(p+1)=*p;*(p+1)=*e;L->length++;return1;}/*intmain(){ElemTypee;SeqListL;InitSeqList(&L);PrintSeqList(&L);printf("请输入要插入的数据(学号姓名性别(0或1)联系电话QQ号):");scanf("%s%s%d%s%s",e.xuehao,e.name,&e.sex,e.tel,e.qq);printf
7、Q号):",i+1);scanf("%s%s%d%s%s",p->xuehao,p->name,&p->sex,p->tel,p->qq);p++;}return;}voidPrintSeqList(SeqList*L){inti;printf("学号姓名性别联系电话QQ号");for(i=0;ilength;i++){printf("%st%st",L->list[i].xuehao,L->list[i].name);if(L->list[i].sex)printf("男");elseprintf("女");printf("t%st%6s",L->list
8、[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
9、
10、i>L->length+1){printf("插入位置错误,失败!");return0;}q=&(L->list[i-1]);for(p=&(L->list[L->leng
11、th-1]);p>=q;p--)*(p+1)=*p;*(p+1)=*e;L->length++;return1;}/*intmain(){ElemTypee;SeqListL;InitSeqList(&L);PrintSeqList(&L);printf("请输入要插入的数据(学号姓名性别(0或1)联系电话QQ号):");scanf("%s%s%d%s%s",e.xuehao,e.name,&e.sex,e.tel,e.qq);printf
此文档下载收益归作者所有