資源描述:
《實驗-線性表的實驗》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、資料實驗一線性表的實驗實驗課程名:C語言程序設(shè)計專業(yè)班級:學(xué)號:姓名實驗時間:實驗地點:指導(dǎo)教師:一、實驗?zāi)康募耙?、掌握用VisualC++6.0調(diào)試順序表的基本方法。2、掌握順序表的基本操作,插入、刪除、查找、以及有序順序表的合并等算法的實現(xiàn)。3、掌握用VisualC++6.0上機調(diào)試單鏈表的基本方法。4、掌握單鏈表的插入、刪除、查找、求表長以及有序單鏈表的合并算法的實現(xiàn)。5、進(jìn)一步掌握循環(huán)單鏈表的插入、刪除、查找算法的實現(xiàn)。二、實驗內(nèi)容1、任務(wù)一:用順序表實現(xiàn)通訊錄管理(2)構(gòu)建如表1所示的順序表并輸出
2、檢驗,實現(xiàn)表1。(3)增加插入記錄的功能并輸出檢驗,實現(xiàn)表2。(4)增加按學(xué)號查找的功能并運行驗證。(5)增加刪除記錄的功能并運行驗證。表1學(xué)號姓名性別手機號碼QQ號2013001張珊女1380000191934578表22013002李思女1391012197887965322013003陳琪女1378945001237891232013004王強男1363456785665437832013005趙括男1353440897656792013006劉剛男1338654321198315注意:用結(jié)構(gòu)化程序設(shè)計的
3、方法實現(xiàn)即(其中的)把單一功能設(shè)計成一個獨立的函數(shù)。如構(gòu)建順序表設(shè)計成一個函數(shù),同樣插入、查找、刪除、輸出也設(shè)計成獨立的函數(shù)。解答:(1)源代碼:#include#include#include#defineMaxSize10typedefstruct{charxuehao[14];//學(xué)號charname[20];//姓名intsex;//性別chartel[14];//聯(lián)系電話charqq[12];//QQ號}ElemType;typedefstru
4、ct{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("是否輸入初始數(shù)據(jù)?(Y/N)");scanf("%c",&flag);if(flag=='N'
5、
6、flag=='n')return;pri
7、ntf("請輸入初始化數(shù)據(jù)的個數(shù):");scanf("%d",&n);if(n>L->size){printf("數(shù)據(jù)太多,不足以存儲!");return;}p=L->list;L->length=n;for(i=0;ixuehao,p->name,&p->sex,p->tel,p->qq);p++;}return;}voidPrintSeqList(SeqL
8、ist*L){inti;printf("學(xué)號姓名性別聯(lián)系電話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[i].tel,L->list[i].qq);}.資料}/*intmain(){SeqListL;InitSeqList(&L);Pri
9、ntSeqList(&L);return0;}*/intInsertSeqList(SeqList*L,inti,ElemType*e){ElemType*q,*p;if(L->length+1>L->size){printf("表滿,失??!");return0;}if(i<1
10、
11、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
12、)=*e;L->length++;return1;}/*intmain(){ElemTypee;SeqListL;InitSeqList(&L);PrintSeqList(&L);printf("請輸入要插入的數(shù)據(jù)(學(xué)號姓名性別(0或1)聯(lián)系電話QQ號):");scanf("%s%s%d%s%s",e.xuehao,e.name,&e.sex,e.tel,e.qq);printf(