資料結構實驗9排序子系統

2021-03-04 00:31:16 字數 1829 閱讀 1978

1.實驗目的

(1)掌握常用排序方法的基本思想。

(2)通過實驗加深理解各種排序演算法。

(3)通過實驗掌握各種排序方法的時間複雜度分析。

(4)了解各種排序方法的優缺點及適用範圍。

2.實驗內容

(1)編寫直接插入排序程式。

(2)編寫希爾排序程式。

(3)編寫氣泡排序程式。

(4)編寫快速排序程式。

(5)編寫選擇排序程式。

(6)編寫歸併排序程式。

(7)編寫堆排序程式。

(8)程式執行時,要求能顯示每一趟的排序結果。

(9)設計乙個選擇式選單,以選單方式選擇上述排序程式。

排序子系統

1更新排序資料

2直接插入排序

3希爾排序

4氣泡排序

5快速排序

6選擇排序

7歸併排序

8堆排序

0返回請選擇選單號(0--8):

3.實驗程式

#include

#include

#include

#define l 8

#define false 0

#define ture 1

typedef struct

rectype;

typedef rectype seqlist[l+1];

int num;

seqlist r;

void insertsort();

void bubblesort();

void quicksort(int low,int high);

void shellsort();

void selectsort();

void mergesort();

int partition(int i,int j);

void heap();

void main()

printf("\n\t排序資料已經輸入完畢!");

ch1='y';

while(ch1=='y'||ch1=='y')if(ch2!='0')

}}void insertsort()

m++;

printf("\t第%d趟排序結果為(按【enter】鍵繼續):",m);

for(k=1;k<=l;k++)

printf("%5d",r[k].key);

getchar();

printf("\n");

}printf("\n\t排序的最終結果是:");

for(i=1;i<=l;i++)

printf("%5d",r[i].key);

printf("\n");

}void shellsort()

gap=gap/2;

m++;

printf("\t第%d趟排序結果為(按【enter】鍵繼續):",m);

for(k=1;k<=l;k++)

printf("%5d",r[k].key);

getchar();

printf("\n");

}printf("\n\t排序的最終結果是:");

for(i=1;i<=l;i++)

printf("%5d",r[i].key);

printf("\n");

}void bubblesort()

{ int i,j,k;

int exchange;

printf("\n\t原始資料為(按【enter】鍵開始排序):");

for(k=1;k<=l;k++)

printf("%5d",r[k].key);

資料結構實驗報告實驗六排序演算法

昆明理工大學資訊工程與自動化學院學生實驗報告 201 201 學年第一學期 課程名稱 資料結構開課實驗室年月日 一.實驗內容 排序演算法,包括直接插入排序,希爾排序,氣泡排序,快速排序,直接選擇排序,堆排序等等。二.實驗目的 1.掌握各種查詢演算法理解和實現 2.增強上機程式設計除錯能力 三.主要程...

資料結構實驗5 串子系統

驗證性實驗5 串子系統 班級學號 012301114114 姓名胡德文1 實驗目的 1 掌握串的特點及順序定長儲存的方式。2 掌握串的建立 連線 插入 刪除 顯示等操作。3 掌握串的查詢 取子字串 比較串大小的操作 4 掌握模式匹配的基本思想及其演算法。2 實驗內容 1 由使用者通過鍵盤輸入建立乙個...

資料結構實驗 排序

排序實驗 常用排序方法實現 實驗目的 1 熟悉常用的內部排序方法 插入排序 選擇排序 交換排序 基數排序和歸併排序 2 通過實驗,掌握排序的思路和方法,並能分析常用的排序方法的時間複雜度和穩定性。實驗要求 1 在vc 或tc環境下實現基本功能 2 先完成基本功能,基本功能為必做內容,有多餘時間的同學...