數(shù)據(jù)結(jié)構(gòu)單鏈表的插入和刪除實(shí)驗(yàn)報(bào)告_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)單鏈表的插入和刪除實(shí)驗(yàn)報(bào)告_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)單鏈表的插入和刪除實(shí)驗(yàn)報(bào)告_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)單鏈表的插入和刪除實(shí)驗(yàn)報(bào)告_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)單鏈表的插入和刪除實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、自學(xué)考試計(jì)算機(jī)系列課程實(shí)踐性環(huán)節(jié)實(shí)驗(yàn)報(bào)告本課程名稱實(shí)驗(yàn)學(xué)期數(shù)據(jù)結(jié)構(gòu)2010至2011 學(xué)年第2學(xué)期年級(jí)大三專業(yè)通信工程學(xué)生姓名陳榕學(xué)號(hào)030409301749指導(dǎo)教師涂風(fēng)華實(shí)驗(yàn)最終成績(jī)重慶大學(xué)計(jì)算機(jī)學(xué)院制實(shí)驗(yàn)名稱單鏈表的插入和刪除實(shí)驗(yàn)時(shí)間2011年5月13號(hào)實(shí)驗(yàn)地點(diǎn)主樓第一軟件實(shí)驗(yàn)室課堂成績(jī)報(bào)告成績(jī)最終成績(jī)一、實(shí)驗(yàn)?zāi)康氖煜b6.0操作,要求單鏈表的數(shù)據(jù)域是字符串,且不允許重復(fù)的串插入表中;刪除操作 是數(shù)據(jù)輸入的字符串,先找到相應(yīng)的接點(diǎn),后刪除。第 1 頁(yè)、實(shí)驗(yàn)步驟(或程序)#defineTRUE 1#defineFALSE 0#defineOK 1#defineERROR 0#defineI

2、NFEASIBLE -1#defineOVERFLOW -2#defineLIST_INIT_SIZE 10#defineLIST_INCREMENT 2#defineStatus int#include<stdio.h>#include<stdlib.h>#include<time.h>typedefint ElemType;typedefstruct LNodeElemType data; struct LNode *next;LNode,*LinkList;Status InitLinkList(LinkList& L)/ 初始化鏈表L = (

3、LinkList)malloc( sizeof (LNode);L->next = NULL; return OK;int len)/向鏈表中隨機(jī)填充數(shù)據(jù)sizeof (LNode);Status FillLinkList(LinkList& L,srand(time(NULL);LinkList p;for (int i = len;i > 0; i-) p = (LinkList)malloc( p->data = rand()%100; p->next = L->next; L->next = p;return OK;Status Ascend

4、(LinkList& L,int len)/ 非遞減排序LinkList q;ElemType temp;for (int j = 0; j < len-1; j+) q = L->next;for (int k = 0; k < len-1; k+)if (q->data > q->next->data)temp = q->data; q->data = q->next->data; q->next->data = temp;q = q->next; return OK;/向鏈表中插入某個(gè)元素Stat

5、us LinkListlnsert(LinkList &L,int i,ElemType e)LinkList p,s;p = L;int j = 0;while (p && j < i-1)p = p->next; j+;if (!p | j > i-1)return ERROR;s = (LinkList)malloc( sizeof (LNode);s->data = e;s->next = p->next;p->next = s; return OK;/刪除鏈表中的某個(gè)元素Status LinkListDelete(Li

6、nkList &L,int i,ElemType &e)LinkList p,q;p = L;int j = 0;while (p->next && j < i-1)p = p->next;j+;if (!(p->next) | j > i-1) return ERROR;q = p->next; p->next = q->next; e = q->data;free(q); return OK;第 3 頁(yè)int LinkListLocate(LinkList &L,ElemType e) 置,否則返

7、回LinkList p;int j = 1;p = L_>next;while (p && p->data != e)p = p->next; j+;if (p && p->data = e) return j;else return 0;void PrintLinkList(LinkList &L,int len)LinkList p = L->next;for (int i = 0;i < len; i+)printf( "%dt" ,p->data); p = p->next;pu

8、tchar( 'n');/在單鏈表L中查找值為e的結(jié)點(diǎn),找到后返回其位/打印鏈表Status DestroyLinkList(LinkList& L,int len)LinkList p,q;p = L;while (p->next)q = p->next;p->next = q->next; free(q);free(L);return OK;/銷毀鏈表Lvoid main()LinkList La; ElemType e; int pos,Len_La;第 5 頁(yè)/*/*puts( "*以下為第題程序*");/確定La的長(zhǎng)

9、度printf( "La 的長(zhǎng)度為:"); scanf( "%d",&Len_La);/初始化Laif (InitLinkList(La)printf("初始化 La成功!n");system( "PAUSE');putchar( 'n');/向La中隨機(jī)添加元素并且非遞減排序if (FillLinkList(La,Len_La) && Ascend(La,Len_La)printf("向La中隨機(jī)添加元素并且非遞減排序成功!n");elseputs(&qu

10、ot;向La中添加元素失敗!");system( "PAUSE');putchar( 'n');/打印添加元素后的Laprintf("添加元素后的La為:n");PrintLinkList(La,Len_La);system( "PAUSE');putchar( 'n');/在La中第i個(gè)元素之前插入一個(gè)新結(jié)點(diǎn) printf("請(qǐng)輸入要插入新節(jié)點(diǎn)的位置:");scanf( "%d",&pos);printf("請(qǐng)輸入要插入新節(jié)點(diǎn)的值:&qu

11、ot;); scanf( "%d",&e);if (LinkListInsert(La,pos,e)printf("插入新節(jié)點(diǎn)成功!n");Len_La+;elseputs("插入新節(jié)點(diǎn)失敗!");system( "PAUSE'); putchar( 'n');/打印插入新節(jié)點(diǎn)后的Laprintf("插入新節(jié)點(diǎn)后的La為:n");PrintLinkList(La,Len_La); system( "PAUSE');putchar( 'n')

12、;/刪除La中的第i個(gè)元素結(jié)點(diǎn)printf("請(qǐng)輸入要?jiǎng)h除節(jié)點(diǎn)的位置:");scanf( "%d",&pos);if (LinkListDelete(La,pos,e)printf("刪除第個(gè)元素成功!n" ,pos,e); Len_La-;elseputs("刪除失敗!");system( "PAUSE');putchar( 'n');/打印刪除后的Laprintf("刪除節(jié)點(diǎn)后的La為:n");PrintLinkList(La,Len_La);sys

13、tem( "PAUSE');putchar( 'n');/在La中查找某結(jié)點(diǎn)并返回其位置 printf("請(qǐng)輸入要查找的節(jié)點(diǎn)的值:");scanf( "%d",&e);pos = LinkListLocate(La,e);if (pos)printf("值為啲節(jié)點(diǎn)的位置是:dn" ,e,pos); elseputs("查找的節(jié)點(diǎn)不存在!");system( "PAUSE'); putchar( 'n');三實(shí)驗(yàn)結(jié)果第 7 頁(yè)c * C: DoenjBeirit s and Sett ings 11面V.Si"建玄件Dftbug5- exe卄八F艾弟1葩桎序* 總的壬度為;36 囁心成功I 青採(cǎi)任意犍儲(chǔ)纟応.忝加廠素后旳站対:L362427319C9G7597739774G901549024909、曹功適入人威魅賽點(diǎn)犍養(yǎng)昔意is按21:2WI3第 8 頁(yè)第 # 頁(yè)入新節(jié)點(diǎn)后前"為:3269LJ3977

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論