《資料結構》上機實驗

2023-01-22 12:39:06 字數 2995 閱讀 3409

《 — 資料結構 —》

上機實驗

適用專業: 資訊專業

***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 ...