資料結構實驗報告

2021-03-04 02:32:27 字數 2727 閱讀 4154

實驗報告

實驗課程: 資料結構

實驗專案實驗

專業: 電腦科學與技術

姓名於凡

學號: 10703070328

指導教師汪林林

實驗時間: 2008-12-7

重慶工學院計算機學院

實驗一線性表

1. 實驗要求

掌握資料結構中線性表的基本概念。

熟練掌握線性表的基本操作:建立、插入、刪除、查詢、輸出、求長度及合併並運算在順序儲存結構上的實驗。

熟練掌握鍊錶的各種操作和應用。

2. 實驗內容

編寫乙個函式,從乙個給定的順序表a中刪除元素值在x到y之間的所有元素,要求以較高效率來實現。

#include

typedef int elemtype;

#define maxsize 10

int del(int a,int n,elemtype x,elemtype y)

return(n-k);

}void main()

試寫乙個演算法,在無頭結點的動態單鏈表上實現線性表插入操作insert(l,i,b)。

void insert(linklist &l,int i,elemtype x)

else

else

if(p||j>i-1)

return error;

s=(linklist)malloc(sizeof(lnode));

s->data=x;s->next=p->next;p->next=s;

}}} 生成兩個多項式pa和pb,求他們的和,輸出「和多項式」。

typedef struct node

polynode;

polynode *polyadd(polynode *pa,polynode *pb)

else

if(p->exp==q->exp)

x=p->coef+q->coef;

if(x!=0)

p->coef=x;

s=p;

else

pre->next=p->next;

free(p);

p=pre->next;

r=p;

q=q->next;

free(r);

else

if(p->expexp)

pre=p;

p=p->next;

if(q!=null)

pre->next=q;

free(pb);

} 設計乙個統計選票的演算法,輸出每個候選人的得票結果。

typedef int elemtype

typedef struct linknode

nodetype;

nodetype *create()

else

i++;

}return h;

}void sat(nodetype *h,int a)

}void main()

3. 實驗心得體會

線性表是最簡單的、最常用的一種資料結構,是實現其他資料結構的基礎。

實驗二棧與佇列

1. 實驗要求

了解棧和佇列的特性,以便靈活運用。

熟練掌握棧和有關佇列的各種操作和應用。

2. 實驗內容

2.1 設乙個算術表示式包括圓括號,方括號和花括號三種括號,編寫乙個演算法判斷其中的括號是否匹配。

#include

#include

#include

#define null 0

typedef struct list

list;

void push(char,list *);

int pop(char.list *);

void deal(char *str);

main(void)

void deal(char *str)

l->next=null;

while(*str)

')if(pop(*str,l))

puts("錯誤,請檢查!");

puts("按回車鍵退出");

getchar();exit(-2);

str++;

}if(l->next)

}void push(char c,list *l)

p->str=c;

p->next=l->next;

l->next=p;

}#define check(s) if(l->next->str==s)

int pop(char c,list *l)

':check('

return 1;

實驗三樹

1. 實驗要求

掌握二叉樹,二叉樹排序數的概念和儲存方法。

掌握二叉樹的遍歷演算法。

熟練掌握編寫實現樹的各種運算的演算法。

2. 實驗內容

編寫程式,求二叉樹的結點數和葉子數。

#include

#include

struct nodebnode;

typedef struct node *blink;

blink creat()

return bt;

}int n=0,n1=0;

void preorder(blink bt)

}void main()

編寫遞迴演算法,求二叉樹中以元素值為x的結點為根的子數的深度。

資料結構實驗報告

實驗一線性表的基本操作 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 掌握順序表和煉表的定義及基本操作 實驗內容 通過程式設計完成具有一定實際意義的課題,加深對線性表應用的理解和掌握。參考題目如下所示。學生可在完成以下題目...

資料結構實驗報告

實驗一 資料庫基本操作 一 實驗目的 1.熟悉ms sql server執行介面,掌握伺服器的基本操作。2.掌握介面操作方法完成使用者資料庫建立 備份和還原。3.建立兩個實驗用的資料庫,使用企業管理器和查詢分析器對資料庫和表進行基本操作。二 實驗預習內容 在認真閱讀教材及實驗指導書的基礎上,上機前請...