資源描述:
《課程實(shí)驗(yàn)報(bào)告1線性表》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、課程實(shí)驗(yàn)報(bào)告專業(yè)年級(jí)2012級(jí)軟件工程課程名稱數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言描述指導(dǎo)教師申紅婷學(xué)生姓名王曉霞學(xué)號(hào)20122205041002實(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ú)立操作又要與其他同學(xué)配合,
2、在實(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;/定義表元素的類型/typedefstructSqlist{ElemT
3、ypeslist;/存儲(chǔ)空間的基地址/intlength;/順序表的當(dāng)前長(zhǎng)度/intlistsize;/當(dāng)前分配的存儲(chǔ)空間/}Sqlist;intInitList_sq(SqlistL);/初始化順序表,為其分配存儲(chǔ)空間/intCreateList_sq(SqlistL,intn);/創(chuàng)建一個(gè)順序表/intListInsert_sq(SqlistL,inti,ElemTypee);/將新元素e插入到順序表第i個(gè)位置/intPrintList_sq(SqlistL);/輸出順序表的元素/intListDelete_sq(SqlistL,i
4、nti);/刪除第i個(gè)元素/intListLocate(SqlistL,ElemTypee);/查找值為e的元素/intInitList_sq(SqlistL){L->slist=(ElemType)malloc(INIT_SIZEsizeof(ElemType));if(!L->slist)returnERROR;L->length=0;L->listsize=INIT_SIZE;returnOK;}/InitList/intCreateList_sq(SqlistL,intn){ElemTypee;inti;for(i=0;i5、i++){printf("inputdata%d",i+1);scanf("%d",&e);if(!ListInsert_sq(L,i+1,e))returnERROR;}returnOK;}/CreateList//輸出順序表中的元素/intPrintList_sq(SqlistL){inti;for(i=1;i<=L->length;i++)printf("%5d",L->slist[i-1]);returnOK;}/PrintList/intListInsert_sq(SqlistL,inti,ElemTypee){intk;if
6、(i<1i>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->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;}/
7、ListInsert//在順序表中刪除第i個(gè)元素/intListDelete_sq(SqlistL,inti){if(L->length==0)return0;if(i<1i>L->length)return0;for(intj;jlength;j++)L->slist[j-1]=L->slist[j];L->length--;return1;}/在順序表中查找指定值元素,返回其序號(hào)/intListLocate(SqlistL,ElemTypee){for(inti=1;i<=L->length;i++){if(L->slist
8、[i-1]==e)returni;return0;}}intmain(){Sqlistsl;intn,m,k;printf("pleaseinputn:");/輸入順序表的元素個(gè)數(shù)/scanf("%d",&