C語言順序表實(shí)驗(yàn)報(bào)告_第1頁
C語言順序表實(shí)驗(yàn)報(bào)告_第2頁
C語言順序表實(shí)驗(yàn)報(bào)告_第3頁
C語言順序表實(shí)驗(yàn)報(bào)告_第4頁
C語言順序表實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——C語言順序表實(shí)驗(yàn)報(bào)告C語言依次表測驗(yàn)報(bào)告

編制

精選表格審核

批準(zhǔn)

生效日期

地址:

電話:

傳真:

郵編:

測驗(yàn)報(bào)告要求一、測驗(yàn)?zāi)康亩?、測驗(yàn)內(nèi)容三、程序流程圖四、測驗(yàn)結(jié)果(要求檢測全體處境的正確性,寫出測試條件及相應(yīng)的測試結(jié)果)

五、完成斟酌題測驗(yàn)一

依次表的根本操作(2學(xué)時(shí))一、測驗(yàn)?zāi)康牧私庖来伪淼囊?guī)律特征,掌管依次表的描述方法、特點(diǎn)及有關(guān)的概念,掌管依次表上的插入和刪除等根本操作算法。

二、測驗(yàn)內(nèi)容在依次表List

[]中,實(shí)現(xiàn)依次表的根本操作,包括:初始化依次表,在表中插入元素、刪除元素。

根本要求:

(1)

依次表的元素個(gè)數(shù)可肆意設(shè)定;(2)

可連續(xù)測試任意多個(gè)元素的插入、刪除,(插入、刪除位置及要插入元素?cái)?shù)值均從鍵盤輸入);(3)

任一操作終止后將依次表中的內(nèi)容輸出;(4)

可由用戶選擇退出程序。

三、測驗(yàn)要點(diǎn)及說明依次表又稱為線性表的依次存儲(chǔ)布局,它是用一組地址連續(xù)的存儲(chǔ)單元依次存放線性表的各個(gè)元素。

可按如下格式定義依次表:

#defineMAXLEN50

/*定義依次表最大元素個(gè)數(shù)50*/

typedefstruct{datatypeList[MAXLEN];

/*定義依次表List*/

intNum;

/*定義依次表表長*/}Seqlist;

模塊劃分:(1)initiq()函數(shù):初始化依次表

(2)insertq()函數(shù):實(shí)現(xiàn)插入功能

(3)deleteq()函數(shù):實(shí)現(xiàn)刪除功能

(4)print()函數(shù):實(shí)現(xiàn)輸出功能四、參考源程序#include#defineMAXLEN50typedefintdatatype;typedefstruct{

datatypeList[MAXLEN];

intNum;

}Seqlist;voidinitiq(Seqlist*la);intinsertq(Seqlist*la,intn);intdeleteq(Seqlist*la,intn);intprint(Seqlist*la);

voidmain(){

Seqlistla;

ints,n;

/*s選擇輸入,n插入或刪除數(shù)據(jù)的個(gè)數(shù)*/

printf(請(qǐng)輸入你的選擇:1initiate2insert3delete4print5exit\nyourchoice=);

scanf(%d,s);

while(s!=5)

{if(s==1)

{

initiq(la);

printf(完成初始化!\n);

}

elseif(s==2)

{

printf(請(qǐng)輸入待插入的數(shù)據(jù)個(gè)數(shù):);

scanf(%d,n);

insertq(la,n);

print(la);

}

elseif(s==3)

{

printf(請(qǐng)輸入待刪除的數(shù)據(jù)個(gè)數(shù):);

scanf(%d,n);

deleteq(la,n);

print(la);

}

elseif(s==4)

{

print(la);

}

else

printf(你的選擇是錯(cuò)誤的!\n);

printf(請(qǐng)輸入你的選擇:1initiate2insert3delete4print5exit\nyourchoice=);

scanf(%d,s);

}

}/*初始化*/voidinitiq(Seqlist*la){

la-Num=0;

}/*插入*/intinsertq(Seqlist*la,intn){

inti,j;

/*

i插入位置,j依次表下標(biāo)*/

datatypex;

/*

x插入數(shù)據(jù)*/

while(n)

{

if(la-Num=MAXLEN-1)

{

printf(\n表滿,不能插入!插入未完成,還有%d個(gè)數(shù)據(jù)未插入\n,n);

return0;

}

printf(請(qǐng)輸入插入的位置和數(shù)據(jù):);

scanf(%d%d,i,x);

if(i0||ila-Num)

{

printf(\n插入位置不合理!\n);

}

else

{

if(i==la-Num)

la-List[i]=x;

else

{

for(j=la-Num;ji;j--)

la-List[j]=la-List[j-1];

la-List[i]=x;

}

la-Num++;

n--;

}

}

printf(插入完成\n);

return1;

}/*刪除*/intdeleteq(Seqlist*la,intn){

inti,j;

/*

i刪除位置,j依次表下標(biāo)*/

while(n)

{

if(la-Num=0)

{

printf(\n表空,不能刪除!\n);

return0;

}

printf(請(qǐng)輸入刪除的位置:);

scanf(%d,i);

if(i0||i=la-Num)

{

printf(\n刪除位置錯(cuò)誤!\n);

}

else

{

for(j=i+1;jla-Num;j++)

la-List[j-1]=la-List[j];

la-Num--;

n--;

}

}

printf(刪除完成!\n);

return1;

}/*顯示輸出*/intprint(Seqlist*la){

intm;

if(la-Num=0)

{

printf(依次表為空!\n);

return0;

}

else

{

printf(當(dāng)前的依次表為:\n);

for(m=0;mla-Num;m++)

printf(List[%d]=%d

,m,la-List[m]);

printf(\n表長為%d\n,la-Num);

return1;

}

}五、斟酌題1.設(shè)依次表L中的數(shù)據(jù)元素按遞增排列,編寫一個(gè)算法,將數(shù)據(jù)元素x插入到依次表L的適當(dāng)位置上,以保持依次表的有序性。

2.設(shè)計(jì)一算法實(shí)現(xiàn)刪除依次表a中第i個(gè)元素起的k個(gè)元素。

typedefs

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論