資料結構實驗1報告

2021-03-04 06:58:08 字數 1774 閱讀 7897

任課教師:孫樹森

《資料結構與演算法》

(2012-2013學年第2學期)實驗

報告學號:2011329700214

姓名:周咪咪

班級:11數媒2班

實驗1:鍊錶的建立與操作

一、 實驗目的:

掌握鍊錶資料結構的建立及操作;

二、 實驗重點:

利用鍊錶的原空間進行鍊錶的反轉;

三、 實驗內容:

設計乙個將輸入資料建立成煉表、並依次輸出鍊錶資料、利用原空間把鍊錶反轉的程式。

四、 實驗步驟:

1. 掌握鍊錶的資料結構;

2. 建立空鍊錶;

3. 用頭插法向鍊錶插入資料,實驗資料:

驗證資料:20,20,17,16,15,15,11,10,8,7,7,5,4;

4. 依次輸出鍊錶中的資料;

5. 利用鍊錶原空間進行對鍊錶進行反轉;

6. 依次輸出反轉後的鍊錶資料,以判斷反轉操作的正確性,注意反轉後,鍊錶的第乙個和最後乙個元素是否正確;

實驗提示:實驗1鍊錶。***;

7,高階要求:完成p40 3.6.1的功能;

五、 程式原始碼:

方法1:依次反轉

#include

#include

typedef struct nodenode,*linklist;

//頭插法,輸入順序為反

void input(linklist *l,int n)

}//在螢幕上輸出鍊錶

void output(node *l,int n)

int i;

for(i=0;i

l=l->next;

printf("%d",l->data);

printf("\n");

}void reverse(linklist l,int n)

}void main()

方法2:指標反向

#include

#include

typedef struct nodenode,*linklist;

//頭插法,輸入順序為反

void input(linklist *l,int n)

}//在螢幕上輸出鍊錶

void output(node *l,int n)

int i;

for(i=0;i l=l->next;

printf("%d->",l->data);

}l=l->next;

printf("%d",l->data);

printf("\n");

}void reverse(linklist l,int n)

l->next=k;

j=n-1;

for(i=1;iq=r;

for(m=1;m

p=q->next;

p->next=q;

j--;

}q=r;

p=q->next;

p->next=q;

p=k;q=r;

q->next=p;

}void main()

六、 執行結果與測試分析:

方法1:

方法2:

7、實驗心得與體會:

(1)通過這個實驗本人基本了解了鍊錶指標的使用,通過指標指向的改變實現了指向的反轉。

(2)了解了鍊錶的建立和初始化,學會了鍊錶基本結構的編寫。

(3)實驗過程中,沒有注意變數的定義,導致實驗過程中for迴圈中i變數使用的混淆不清。

希望在以後的試驗中吸取教訓,做的更好。

資料結構實驗報告v1

學號 1300310506 姓名 方日祥 實驗日期 2015.7.7 一 實驗目的 1 設計資料結構和演算法,實現按層次構造二叉樹的演算法2 掌握樹的前根序 中根序和後根序遍歷演算法二 實驗具體內容 1 實驗題目1 1 題目按層次 從上到下,從左到右的順序 輸入樹的結點,如果該結點為空,則用乙個特定...

資料結構實驗報告實驗

實驗名稱 實驗四排序 題目1 學生姓名 班級 班內序號 學號 日期 2013年12月19日 1 實驗要求 實驗目的 學習 實現 對比各種排序演算法,掌握各種排序演算法的優劣,以及各種演算法使用的情況。實驗內容 使用簡單陣列實現下面各種排序演算法,並進行比較。排序演算法 1 插入排序 2 希爾排序 3...

資料結構實驗報告

實驗報告 實驗課程 資料結構 實驗專案實驗 專業 電腦科學與技術 姓名於凡 學號 10703070328 指導教師汪林林 實驗時間 2008 12 7 重慶工學院計算機學院 實驗一線性表 1.實驗要求 掌握資料結構中線性表的基本概念。熟練掌握線性表的基本操作 建立 插入 刪除 查詢 輸出 求長度及合...