資源描述:
《課程實(shí)驗(yàn)報(bào)告1線性表.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、課程實(shí)驗(yàn)報(bào)告專業(yè)年級(jí)2012級(jí)軟件工程課程名稱數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言描述指導(dǎo)教師申紅婷學(xué)生姓名王曉霞學(xué)號(hào)002實(shí)驗(yàn)日期2012.10.31實(shí)驗(yàn)地點(diǎn)A3篤行樓A棟306實(shí)驗(yàn)成績(jī)教務(wù)處制2013年10月31日實(shí)驗(yàn)項(xiàng)目名稱線性表實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康募耙笠唬康模?.使學(xué)生對(duì)線性表的順序存儲(chǔ)結(jié)構(gòu)、基本操作和應(yīng)用,能通過(guò)實(shí)驗(yàn)達(dá)到掌握和應(yīng)用的目的。2.使學(xué)生對(duì)線性表的線性表的鏈?zhǔn)浇Y(jié)構(gòu)、基本操作和應(yīng)用,能通過(guò)實(shí)驗(yàn)達(dá)到掌握和應(yīng)用的目的。二.要求:實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)實(shí)驗(yàn)內(nèi)容。實(shí)驗(yàn)時(shí)自覺(jué)遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要
2、與其他同學(xué)配合,在實(shí)驗(yàn)過(guò)程中必須按照實(shí)驗(yàn)內(nèi)容認(rèn)真做完實(shí)驗(yàn),并認(rèn)真填寫(xiě)相關(guān)實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)內(nèi)容線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)浇Y(jié)構(gòu)、基本操和應(yīng)用。實(shí)驗(yàn)步驟1、閱讀下面程序,在橫線處填寫(xiě)函數(shù)的基本功能。并運(yùn)行程序,寫(xiě)出結(jié)果。#include#include#defineERROR0#defineOK1#defineINIT_SIZE5/*初始分配的順序表長(zhǎng)度*/#defineINCREM5/*溢出時(shí),順序表長(zhǎng)度的增量*/typedefintElemType;/*定義
3、表元素的類型*/typedefstructSqlist{ElemType*slist;/*存儲(chǔ)空間的基地址*/intlength;/*順序表的當(dāng)前長(zhǎng)度*/intlistsize;/*當(dāng)前分配的存儲(chǔ)空間*/}Sqlist;intInitList_sq(Sqlist*L);/*初始化順序表,為其分配存儲(chǔ)空間*/intCreateList_sq(Sqlist*L,intn);/*創(chuàng)建一個(gè)順序表*/intListInsert_sq(Sqlist*L,inti,ElemTypee);/*將新元素e插入到順序表
4、第i個(gè)位置*/intPrintList_sq(Sqlist*L);/*輸出順序表的元素*/intListDelete_sq(Sqlist*L,inti);/*刪除第i個(gè)元素*/intListLocate(Sqlist*L,ElemTypee);/*查找值為e的元素*/intInitList_sq(Sqlist*L){L->slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType));if(!L->slist)returnERROR;L->length=0;L
5、->listsize=INIT_SIZE;returnOK;}/*InitList*/intCreateList_sq(Sqlist*L,intn){ElemTypee;inti;for(i=0;i6、nti;for(i=1;i<=L->length;i++)printf("%5d",L->slist[i-1]);returnOK;}/*PrintList*/intListInsert_sq(Sqlist*L,inti,ElemTypee){intk;if(i<1
7、
8、i>L->length+1)returnERROR;if(L->length>=L->listsize){L->slist=(ElemType*)realloc(L->slist,(INIT_SIZE+INCREM)*sizeof(E
9、lemType));if(!L->slist)returnERROR;L->listsize+=INCREM;}for(k=L->length-1;k>=i-1;k--){L->slist[k+1]=L->slist[k];}L->slist[i-1]=e;L->length++;returnOK;}/*ListInsert*//*在順序表中刪除第i個(gè)元素*/intListDelete_sq(Sqlist*L,inti){if(L->length==0)return0;if(i<1
10、
11、i>L->le
12、ngth)return0;for(intj;jlength;j++)L->slist[j-1]=L->slist[j];L->length--;return1;}/*在順序表中查找指定值元素,返回其序號(hào)*/intListLocate(Sqlist*L,ElemTypee){for(inti=1;i<=L->length;i++){if(L->slist[i-1]==e)returni;return0;}}intmain(){Sqlistsl;intn,m,k;