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