《資料結構》實驗大綱
實驗一順序表的建立及插入、刪除演算法
一、實驗目的:
1. 建立乙個順序表,並實現插入、刪除演算法
二、實驗內容:
1.(1)建立乙個空的順序表l
(2)依次插入a,b,c,d,e五個元素
(3)在第4個元素位置上插入元素f
(4)刪除l的第3個元素
(5)輸出順序表l
#include
#include
#define maxsize 50
typedef char elemtype;
typedef struct
sqlist;
sqlist * initlist( )
void displist(sqlist *l)
void listinsert(sqlist * l,int i,elemtype e)
void listdelete(sqlist * l,int i)
main()
實驗二單鏈表的建立及插入、刪除演算法
一、實驗目的:
1.建立乙個單鏈表,並實現插入、刪除演算法
二、實驗內容:
1.(1) 建立乙個空的單鏈表l
(2)依次插入a,b,c,d,e五個元素
(3)在第4個元素位置上插入元素f
(4)刪除l的第3個元素
(5)輸出單鏈表l
(6)銷毀單鏈表l
#include
#include
typedef char elemtype;
typedef struct lnode
linklist;
linklist * initlist( )
void destroylist(linklist * l)
free(p);
}void displist(linklist *l)
printf("\n");
}void listinsert(linklist * l,int i,elemtype e)
if(p==null)
return;
else
}void listdelete(linklist * l,int i)
if(p==null)
return;
else
}main()
實驗三實現二叉樹各種基本演算法
一、實驗目的:
1.實現二叉樹各種基本演算法
二、實驗內容:
1.編寫乙個程式,利用遞迴演算法求出二叉樹t的深度、結點個數及葉子結點個數。
提示:建立二叉樹的二叉鍊錶演算法如下:
設二叉樹的字串表示形式為"a(b(d,e(h(j,k(l,m(,n))))),c(f,g(,i)))"。
#include
#include
#define maxsize 100
typedef char elemtype;
typedef struct bitnode
bitree;
bitree * createbitree(char *str) //由str字串建立二叉樹的二叉鍊錶
j++;
ch=str[j];
}return t;
}int bitreedepth(bitree *t)
} int nodes(bitree *t)
}int leafnodes(bitree *t)
}main()
實驗四二叉樹的遍歷
一、實驗目的:
1. 實現二叉樹各種遍歷演算法
二、實驗內容:
1.編寫乙個程式,實現二叉樹的先序遍歷、中序遍歷、後序遍歷以及層次遍歷的演算法,並輸出每種演算法的遍歷序列。
提示:建立二叉樹的二叉鍊錶演算法與實驗三相同。
設二叉樹的字串表示形式為"a(b(d,e(h(j,k(l,m(,n))))),c(f,g(,i)))"。
#include
#include
#define maxsize 100
typedef char telemtype;
typedef struct bitnode
{ telemtype data;
struct bitnode *lchild,*rchild;
資料結構答案
1 有乙個帶頭指標的單鏈表,寫出在值為x的結點之後插入m個結點的演算法 int insertm linklist l,int x,int m p next q連線斷點 3 假設乙個長度大於1的單迴圈鍊錶既無頭結點也無頭指標,s為指向鍊錶中某個結點的指標,試設計刪除結點s的直接前驅結點的演算法 voi...
資料結構實驗
資訊23 2120502060 古碧野一 實驗題目 建立乙個線性表,實現線性表的建立,插入,刪除和遍歷 二.實驗目的和要求 實驗目的 熟練掌握線性表的基本操作在順序儲存結構上的實現。實驗要求 用c語言編寫源程式,並除錯通過,測試正確。三.主要儀器裝置 windows xp操作平台,visual c ...
資料結構實驗
一 實驗目的 1 了解二叉樹的定義及基本運算。2 掌握二叉樹的描述方法 特點 性質及儲存結構。3 掌握二叉樹的基本操作演算法。4 自主設計二叉樹建立 遍歷等操作的整個程式。二 實驗內容 根據建立任意給定的二叉樹,並對此二叉樹進行前序 中序 後序 層次四種遍歷。基本要求 1 具有二叉樹的建立功能 2 ...