軟件基礎(chǔ)實(shí)驗(yàn)一報(bào)告格式_第1頁(yè)
軟件基礎(chǔ)實(shí)驗(yàn)一報(bào)告格式_第2頁(yè)
軟件基礎(chǔ)實(shí)驗(yàn)一報(bào)告格式_第3頁(yè)
軟件基礎(chǔ)實(shí)驗(yàn)一報(bào)告格式_第4頁(yè)
軟件基礎(chǔ)實(shí)驗(yàn)一報(bào)告格式_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)計(jì)學(xué)院軟件基礎(chǔ)實(shí)驗(yàn)報(bào)告第2頁(yè)共7頁(yè)實(shí)驗(yàn)一線(xiàn)性表的順序存儲(chǔ)以及相關(guān)操作實(shí)現(xiàn)班級(jí)學(xué)號(hào)姓名【實(shí)驗(yàn)?zāi)康暮鸵蟆?.掌握數(shù)據(jù)結(jié)構(gòu)中線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)以及操作;2.了解數(shù)據(jù)結(jié)構(gòu)中線(xiàn)性表的順序存儲(chǔ)基本操作原理3.掌握數(shù)據(jù)結(jié)構(gòu)中基本算法的設(shè)計(jì)方法.4.掌握程序的基本測(cè)試方法。二.【實(shí)驗(yàn)內(nèi)容】?jī)?nèi)容:此線(xiàn)性表采順序式存儲(chǔ),實(shí)現(xiàn)建表、查找、插入、刪除、打印等功能。【實(shí)驗(yàn)步驟(或程序清單)】只是示范,具體情況自己寫(xiě)。根據(jù)自己的代碼長(zhǎng)度決定多少頁(yè),要求代碼排版緊湊,字體小五,行間距固定12磅。書(shū)寫(xiě)格式和VC環(huán)境編程一樣縮進(jìn)等。#include<stdio.h>#include<stdlib.h>#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineOVERFLOW-1#defineLIST_INIT_SIZE200//設(shè)空間大小為200#defineLISTINCREMENT10typedefintDataType;typedefstruct{DataTypedata[LIST_INIT_SIZE];//定義一個(gè)數(shù)組data,用來(lái)存放節(jié)點(diǎn);intlength;//定義一個(gè)長(zhǎng)度intlistsize;//順序表的儲(chǔ)存空間大小}SqList;intmain(void){SqListL;//定義一個(gè)順序表L;DataTypenewelen;inti,position;//定義元素的位置charm;L.length=0;//初始化順序表的長(zhǎng)度do{printf("\n");printf("############順序線(xiàn)性表功能菜單###########\n");printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n");printf("x1:建立線(xiàn)性表x4:線(xiàn)性表從小到大排序x\n");printf("x2:插入元素x5:查找元素x\n");printf("x3:刪除特定元素x6:退出程序x\n");printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n");printf("\n***請(qǐng)輸入你的選擇:");scanf("%c",&m);switch(m){case'1':printf("輸入元素的個(gè)數(shù)\n");CreateList(&L);Printlist(L);break;case'2':printf("\n");Printlist(L);printf("輸入要插入的元素位序:\n");scanf("%d",&position);printf("請(qǐng)輸入要插入的數(shù)據(jù)元素:\n");scanf("%d",&newelen);InsertList(&L,newelen,position);Printlist(L);break;case'3':printf("\n");Printlist(L);printf("請(qǐng)輸入要?jiǎng)h除的特定數(shù)據(jù)元素:");scanf("%d",&newelen);DeleteList(&L,newelen);Printlist(L);break;case'4':printf("\n");printf("沒(méi)有實(shí)現(xiàn)排序");break;case'5':printf("\n");Printlist(L);printf("輸入要查找的值:");scanf("%d",&newelen);i=LocateList(L,newelen);printf("所要查找的值在位序:%d\n",i);break;case'6':break;default:printf("\n");Printlist(L);printf("您輸入的有誤!");break;}getchar();}while(m!='6');system("pause");}voidCreateList(SqList*L);//建立線(xiàn)性表intLocateList(SqListL,DataTypenewelem);//查詢(xún)線(xiàn)性表中元素位置voidInsertList(SqList*L,DataTypenewelem,intposition);//插入線(xiàn)性表中元素voidDeleteList(SqList*L,DataTypenewelem);//刪除線(xiàn)性表中的某一元素,并依次移動(dòng)元素voidPrintlist(SqListL);//打印線(xiàn)性表scanf("%d",&L->data[i]);L->length=n;}intLocateList(SqListL,DataTypenewelem)//查找L中元素位置,并用打印函數(shù)輸出{inti;i=L.length;//i等于線(xiàn)性表的長(zhǎng)度L.data[1]=newelem;//將輸入的新元素賦給線(xiàn)性表的存儲(chǔ)空間的第一個(gè)元素while(L.data[i]!=newelem)//將新輸入的元素與線(xiàn)性表的元素比較,若不等就繼續(xù)查找,否則返回元素的位序i--;returni;//返回查找元素的位序}voidInsertList(SqList*L,DataTypenewelem,intposition)//在L表中插入新的元素,newelem,若超過(guò)線(xiàn)性表的長(zhǎng)度,中文提示錯(cuò)誤{inti;if(position<1||position>L->length+1)//插入位序小于1或超出線(xiàn)性表的長(zhǎng)度,提示有誤{printf("插入位置不對(duì)\n");}else{for(i=L->length;i>=position;i--)L->data[i+1]=L->data[i];//插入位置及之后的元素右移L->data[position]=newelem;//將新的元素newelem插入到position之前的位置L->length++;//表的長(zhǎng)度增1return;}}voidDeleteList(SqList*L,DataTypenewelem)//指定元素刪除{inti,j=0;for(i=1;i<=L->length;i++){if(L->data[i]!=newelem){j++;L->data[j]=L->data[i];//從第一個(gè)元素開(kāi)始,將刪除元素不等的元素轉(zhuǎn)移到另一個(gè)新數(shù)組中}}L->length=j;}voidPrintlist(SqListL)//輸出函數(shù),輸出所有的元素{inti;printf("線(xiàn)性表是:");for(i=1;i<=L.length;i++)printf("%d",L.data[i])//線(xiàn)性表中元素逐個(gè)打印出;printf("\n");}四.【實(shí)驗(yàn)結(jié)果分析】采用圖文描述,文字簡(jiǎn)單描述【截圖】:1,空的鏈表初始化成功;2,創(chuàng)建鏈表并輸入數(shù)據(jù);3.顯示鏈表內(nèi)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論