《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc

《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc

ID:58488845

大?。?83.00 KB

頁數(shù):51頁

時(shí)間:2020-05-17

《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc_第1頁
《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc_第2頁
《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc_第3頁
《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc_第4頁
《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc_第5頁
資源描述:

《《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì):順序表、單鏈表、順序棧、查找、排序算法.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、*******大學(xué)《數(shù)據(jù)結(jié)構(gòu)與算法分析》課程設(shè)計(jì)題目:數(shù)據(jù)結(jié)構(gòu)上機(jī)試題學(xué)生姓名:學(xué)號(hào):專業(yè):信息管理與信息系統(tǒng)班級(jí):指導(dǎo)教師:2014年04月目錄一、順序表的操作2【插入操作原理】2【刪除操作原理】2【NO.1代碼】3【運(yùn)行截圖演示】7二、單鏈表的操作10【創(chuàng)建操作原理】10【插入操作原理】10【刪除操作原理】10【NO.2代碼】11【運(yùn)行截圖演示】20三、順序棧的操作25【數(shù)值轉(zhuǎn)換原理】25【NO.3代碼】26【運(yùn)行截圖演示】30四、查找算法32【順序查找原理】32【折半查找原理】32【NO.4代碼】33【運(yùn)行截圖演示】38五、排序算法40【直接插入排序原理】40【快速

2、排序原理】40【NO.5代碼】41【運(yùn)行截圖演示】46一、順序表的操作(1)插入元素操作:將新元素x插入到順序表a中第i個(gè)位置;(2)刪除元素操作:刪除順序表a中第i個(gè)元素。【插入操作原理】線性表的插入操作是指在線性表的第i-1個(gè)數(shù)據(jù)元素和第i個(gè)數(shù)據(jù)元素之間插入一個(gè)新的數(shù)據(jù)元素,就是要是長(zhǎng)度為n的線性表:變成長(zhǎng)度為n+1的線性表:數(shù)據(jù)元素和之間的邏輯關(guān)系發(fā)生了變化。(其【插入原理】在課本P23的算法2.3有解釋)【刪除操作原理】反之,線性表的刪除操作是使長(zhǎng)度為n的線性表:變成長(zhǎng)度為n-1的線性表:數(shù)據(jù)元素、和之間的邏輯關(guān)系發(fā)生變化,為了在存儲(chǔ)結(jié)構(gòu)上放映這個(gè)變化,同樣需要移

3、動(dòng)元素。(其【刪除原理】在課本P24的算法2.4有解釋)【NO.1代碼】#include#defineMAX100typedefintdatatype;typedefstruct{datatypedata[MAX];intlist;}sequenlist;/*順序表*/intmain(){intinsert(sequenlist*L,intx,inti);intdeletee(sequenlist*L,inti);intinput(sequenlist*L);intoutput(sequenlist*L);sequenlists,*p=&s;intind

4、ata,inlocate,deletedx;input(p);printf("請(qǐng)輸入要插入的數(shù):");scanf("%d",&indata);printf("請(qǐng)輸入要插入的位置:");scanf("%d",&inlocate);insert(p,indata,inlocate);printf("插入后的數(shù)據(jù):");output(p);printf("請(qǐng)輸入要?jiǎng)h除的位置:");scanf("%d",&deletedx);deletee(p,deletedx);printf("刪除后的數(shù)據(jù):");output(p);return0;}intoutput(sequenlist*

5、L){inti;for(i=0;i<=L->list;i++)printf("%d",L->data[i]);printf("");return(1);}intinput(sequenlist*L){inti;printf("請(qǐng)輸入原始數(shù)據(jù)個(gè)數(shù):");scanf("%d",&(L->list));L->list--;printf("請(qǐng)輸入原始數(shù)據(jù):");for(i=0;i<=L->list;i++)scanf("%d",&(L->data[i]));printf("原始數(shù)據(jù)為:");output(L);return(1);}intinsert(sequenlist

6、*L,intx,inti){intj;if(((*L).list)>=MAX-1){printf("overflow");return0;}else{if((i<1)

7、

8、(i>((*L).list)+1)){printf("error");return0;}else{for(j=L->list;j>=i-1;j--)L->data[j+1]=L->data[j];L->data[i-1]=x;L->list++;}}return(1);}intdeletee(sequenlist*L,inti)/*定義刪除函數(shù)*/{intj;if((i<1)

9、

10、(i>(L->list

11、)+1)){printf("error");return0;}else{for(j=i;j<=L->list;j++)L->data[j-1]=L->data[j];L->list--;}return(1);}【運(yùn)行截圖演示】①、如下面的運(yùn)行截圖所示,當(dāng)輸入的線性表長(zhǎng)度設(shè)置為12的時(shí)候,該線性表最多能輸入12位數(shù)的長(zhǎng)度。輸入要插入的數(shù)和插入數(shù)的位置下標(biāo),便可以進(jìn)行插入操作;同理當(dāng)輸入要執(zhí)行刪除操作數(shù)的位置下標(biāo),可以將該數(shù)刪除出線性表。②、如下面的運(yùn)行截圖所示,當(dāng)初始設(shè)置的線性表長(zhǎng)度為5的時(shí)候,其5個(gè)數(shù)分別是-3、4、5、0

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。