資料結構實驗報告全集

2021-03-04 04:05:24 字數 2586 閱讀 4604

實驗一線性表基本操作和簡單程式

1. 實驗目的

(1)掌握使用visual c++ 6.0上機除錯程式的基本方法;

(2)掌握線性表的基本操作:初始化、插入、刪除、取資料元素等運算在順序儲存結構和鍊錶儲存結構上的程式設計方法。

2. 實驗要求

(1) 認真閱讀和掌握和本實驗相關的教材內容。

(2) 認真閱讀和掌握本章相關內容的程式。

(3) 上機執行程式。

(4) 儲存和列印出程式的執行結果,並結合程式進行分析。

(5) 按照你對線性表的操作需要,重新改寫主程式並執行,列印出檔案清單和執行結果

實驗**:

1)標頭檔案模組

#include iostream.h>//標頭檔案

#include//庫標頭檔案-----動態分配記憶體空間

typedef int elemtype;//定義資料域的型別

typedef struct linknode//定義結點型別

nodetype;

2)建立單鏈表

nodetype *create()//建立單鏈表,由使用者輸入各結點data域之值,

//以0表示輸入結束

else//建立其餘結點

i++;

}return h;

}3)輸出單鏈表中的元素

void disp(nodetype*h)//輸出由h指向的單鏈表的所有data域之值

cout<}

4)計算單鏈表的長度

int len(nodetype *h)//返回單鏈表的長度

return i;

}5)尋找第i個節點

nodetype *find(nodetype *h,int i)//返回第i個節點的指標

return p;

}6)單鏈表的插入操作

nodetype *ins(nodetype *h,int i,elemtype x)//在單鏈表head中第i個節點

//(i>=0)之後插入乙個data域為x的節點

else

return h;

}}7)單鏈表的刪除操作

nodetype *del(nodetype *h,int i)//刪除第i個節點

else

else cout<<"輸入i的值不正確"< }

return h;

}8)釋放節點空間

void dispose(nodetype *h)//釋放單鏈表的所有節點占用的空間

}}9)主程式模組:

#include"slink.h"//包含標頭檔案slink

void main()

5.實驗結果

建立乙個單鏈表:

輸入第1結點data域值:1

輸入第2結點data域值:2

輸入第3結點data域值:3

輸入第4結點data域值:4

輸入第5結點data域值:5

輸入第6結點data域值:6

輸入第7結點data域值:7

輸入第8結點data域值:8

輸入第9結點data域值:9

輸入第10結點data域值0:

輸出乙個單鏈表:

1 2 3 4 5 6 7 8 9

單鏈表長度:9

輸出乙個單鏈表:

1 0 2 3 4 5 6 7 8 9

輸出乙個單鏈表:

1 2 3 4 5 6 7 8

實驗二順序棧的實現

1.實驗目的

掌握順序棧的基本操作:初始化棧、判棧空否、入棧、出棧、取棧頂資料元素等運算以及程式實現方法。

2.實驗要求

(1) 認真閱讀和掌握和本實驗相關的教材內容。

(2) 分析問題的要求,編寫和除錯完成程式。

(3) 儲存和列印出程式的執行結果,並分析程式的執行結果。

3.實驗內容

利用棧的基本操作實現乙個判斷算術表示式中包含圓括號、方括號是否正確配對的程式。具體完成如下:

(1) 定義棧的順序訪問結構。

(2) 分別定義順序棧的基本操作(初始化棧、判棧空否、入棧、出棧等)。

(3) 定義乙個函式用來判斷算術表示式中包含圓括號、方括號是否正確配對。其中,括號配對共有四種情況:左右括號配對次序不正確;右括號多於左括號;左括號多於右括號;左右括號匹配正確。

(4) 設計乙個測試主函式進行測試。

(5) 對程式的執行結果進行分析。

實驗**:

#include

#define maxsize 100

typedef struct

sqstack;

void initstack(sqstack *st) //初始化棧

int stackempty(sqstack *st) //判斷棧為空

void push(sqstack *st,int x) //元素進棧

}void pop(sqstack *st) //退棧

int gettop(sqstack *st) //獲得棧頂元素

else

return st->data[st->top];

}void display(sqstack *st) //列印棧裡元素

int main() //測試

資料結構實驗報告

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

資料結構實驗報告

實驗一線性表的基本操作 1 實驗目的2 2 實驗環境2 3 實驗內容,主要 除錯與執行 2 4 總結14 實驗二棧的基本操作 1 實驗目的15 2 實驗環境15 3 實驗內容,主要 除錯與執行 15 4 總結18 實驗三赫夫曼樹 1 實驗目的18 2 實驗環境18 3 實驗內容,主要 除錯與執行 1...

資料結構實驗報告

實驗題目 計算機與通訊工程學院 2014 實驗一線性表的應用 實驗目的 1 掌握線性表的邏輯結構定義 2 掌握線性表的兩種儲存結構 順序和鏈式 3 掌握順序表和煉表的定義及基本操作 實驗內容 通過程式設計完成具有一定實際意義的課題,加深對線性表應用的理解和掌握。參考題目如下所示。學生可在完成以下題目...