《 — 資料結構 —》
上機實驗
適用專業: 資訊專業
***x大學經濟管理學院_資訊_系
2023年 2月
前言「資料結構」是一門理論性和實踐性都很強的課程,通過本課程的學習,可以使學生分析研究計算機加工的資料物件的特性,以便選擇恰當的資料結構和儲存結構以及相應的演算法,並初步掌握演算法的時間分析和空間分析的技巧;另一方面,學習本課程的過程也是進行複雜程式設計的訓練過程。要求學生書寫的程式結構清楚,正確易讀。
「資料結構」課程上機的主要目標:
1) 通過上機操作,加深對資料結構理論知識的理解。
2) 通過資料結構儲存結構和演算法的設計,熟練掌握用c語言進行程式編制的基本技術。
3) 通過實際題目的上機,提高動手能力,提高分析問題和解決問題的能力。
「資料結構」課程上機專案設定與內容
表1列出了」資料結構」課程具體的上機專案和內容
表1 上機專案及內容
上機_1_:線性表的建立及相關操作
上機學時:2
上機型別:(驗證
上機要求:(必修)
一、[實驗目的]
1、掌握vc上機除錯的基本方法。
2、了解順序表的結構特點及相關概念,掌握順序表中的插入和刪除的實現。
二、[實驗要求]
1、建立乙個有20個結點的順序表並掌握如何定義結點的結構。
2、輸出原線性表的各元素值,以及插入和刪除乙個元素後的線性表的元素值。
三、[程式]
#include <>//下標為0的陣列元素沒有使用
typedef struct//線性表結構
sqlist;
void prt(sqlist l)//輸出函式
int insert_sq(sqlist &l,int i,int x)//插入函式
int delete_sq(sqlist &l,int i)//刪除函式
void initsql(sqlist &l)//線性表的初始化
void main()
prt(l);
insert_sq(l,5,90);//將90插入到第5個元素的位置
prt(l);
delete_sq(l,1);//刪除第1個元素
prt(l);
}四、[操作步驟]
五、[實驗分析]
1、實驗結果分析。
2、實驗中遇到的問題及解決方法。
上機_2_:單鏈表的建立及相關操作
上機學時:2
上機型別:(驗證
上機要求:(必修)
一、[實驗目的]
1、掌握c上機除錯的基本方法。
2、了解單鏈表的結構特點及相關概念,掌握單鏈表結點鏈結的實現。
二、[實驗要求]
1、建立乙個有10個結點的單鏈表並掌握如何定義結點的結構。
2、完成在建立好的單鏈表中刪除指定i位置的結點並輸出刪除結點後的單鏈表。
3、在建立好的單鏈表中在指定i位置插入乙個新的結點並輸出插入結點後的單鏈表。
三、[程式]
#include <>
#include <>
typedef struct lnode//線性表鏈式結構
lnode,*linklist;
void prt(linklist &l)//輸出函式
printf("\n");
}int listinsert_l(linklist &l,int i,int e)//插入函式
if(!p||j>i-1) return 0;
s=(linklist)malloc(sizeof(lnode));
s->data=e;s->next=p->next;
p->next=s;
return 1;
}int listdelete_l(linklist &l,int i,int &e)//刪除函式
if(!(p->next)||j>i-1) return 0;
q=p->next;p->next=q->next;
e=q->data;free(q);
return 1;
}void createlist_l(linklist &l)//線性表的初始化 }
void main()
四、[實驗分析]
1、實驗結果分析。
2、實驗中遇到的問題及解決方法。
上機_3_:鏈佇列建立及相關操作
上機學時:2
上機型別:(驗證
上機要求:(必修)
一、[實驗目的]
1、掌握c上機除錯的基本方法。
2、了解鏈佇列的結構特點及相關概念,掌握出隊和入隊的實現。
二、[實驗要求]
1、建立乙個有10個結點的鏈佇列並掌握如何定義結點的結構。
2、完成在建立好的鏈佇列**隊的操作。
三、[程式]
#include <>
#include <>
typedef struct qnode
qnode,*queueptr;
typedef struct
linkqueue;
void prt(linkqueue &l)//輸出函式
printf("\n");
}int insert_l(linkqueue &l,int e)//插入函式
int delete_l(linkqueue &l,int &e)//刪除函式
int init_l(linkqueue &l)//初始化
void main()
printf("%s\n","使用插入法建立10個結點的佇列元素為:");
prt(l);
delete_l(l,e);//隊頭元素出隊
printf("%s\n","隊頭元素出隊後的佇列元素為:");
prt(l);
printf("刪除的隊頭元素e=%d\n",e);
}四、[實驗分析]
1、實驗結果分析。
2、實驗中遇到的問題及解決方法。
上機_4_:二叉樹及其先序遍歷
資料結構上機實驗
一 實驗目的 1 掌握用visual c 6.0上機除錯順序表的基本方法 2 掌握順序表的基本操作,插入 刪除 查詢等演算法的實現 二 實驗內容 1 順序表基本操作的實現 問題描述 當我們要在順序表的第i個位置上插入乙個元素時,必須先將順序表中第i個元素之後的所有元素依次後移乙個位置,以便騰空乙個位...
資料結構上機實驗四
實驗內容 廣義表的基本操作 實驗要求 1 廣義表的建立與顯示要作為函式被呼叫.2 把自己使用的廣義表結構明確的表達出來.3 基本上實現每個實驗題目的要求.分組要求 可單獨完成,也可兩人一組。實驗目的 1 熟悉c c 基本程式設計,培養動手能力.2 通過實驗,加深對廣義表的理解.評分標準 1 只完成第...
資料結構上機實驗一
為了更好地幫助同學們做好資料結構實驗,在此給出資料結構上機程式設計的一般思路和程式的基本框架結構。具體程式結構按先後順序可分為以下3個部分 1 預定義常量及型別 對於相關的常量與型別 如狀態型別 進行定義,如 define ok 1 define error 0 define overflow 2 ...