實驗六 排序綜合

2021-10-01 20:49:20 字數 2600 閱讀 7384

氣泡排序

(1)定義順序表的儲存結構;

(2)在順序表上實現氣泡排序;

(3)將普通的氣泡排序進行多次改進以提高排序速度,並用大量資料測試其速度的提高。

快速排序

(1)定義順序表的儲存結構;

(2)在順序表上實現快速排序;

(3)用大量的資料測試最好、最壞和平均情況下的排序速度。

堆排序(1)定義順序表的儲存結構;

(2)在順序表上實現堆排序;

(3)用大量的資料測試最好、最壞和平均情況下的排序速度。

4.比較各種排序方法的優缺點和適用場合

第一題

#include

#include

#include

using

namespace std;

//定義順序表的儲存結構;

typedef

struct

redtype;

typedef

struct

sqlist;

//順序表型別

void

creatsq

(sqlist &l)

void

print

(sqlist l)

//(2)在順序表上實現氣泡排序;

void

bubblesort_a

(sqlist &l)}}

print

(l);

}//冒泡法第一步優化

//若在一次排序中沒有發生交換,說明此時已經全部有序無需再進行掃瞄

//增加乙個標記,記錄是否進行過交換

void

bubblesort_b

(sqlist &l)}if

(!flag)

break

;//若沒有排序,序列有序,退出

}print

(l);

}//若上次排序位置為end,表示end-n的數已經有序,下次排序不需要再遍歷

第二題

#include

#include

#include

using

namespace std;

//定義順序表的儲存結構;

typedef

struct

redtype;

typedef

struct

sqlist;

//順序表型別

void

creatsq

(sqlist &l)

void

print

(sqlist l)

intpatition

(sqlist &l,

int low,

int high)

l.r[low]

= l.r[0]

;//樞軸記錄到位

return low;

//返回樞軸位置

第三題

#include

#include

#include

using

namespace std;

//定義順序表的儲存結構;

typedef

struct

redtype;

typedef

struct

sqlist;

//順序表型別

typedef sqlist heaptype;

void

creatsq

(sqlist &l)

void

print

(sqlist l)

void

heapadjust

(heaptype &h,

int s,

int m)

h.r[s]

= rc;

//插入

資料結構 實驗六 排序

本次實驗實現排序中的直接插入 氣泡排序 快速排序 簡單選擇排序 堆排序等排序演算法。下面放一下自己的 include include include datahead.h define maxsize 20typedef intkeytype typedef struct redtype typed...

六 排序的有關操作

一 實驗目的 1 掌握常見的排序演算法的思想及其適用條件。2 掌握常見的排序演算法的程式實現。二 實驗儀器及環境 pc計算機 windows xp作業系統 visual c 6.0 給出n個學生的考試成績表,每條資訊由姓名和分數組成,試設計乙個演算法 按分數高低次序,列印出每個學生在考試中獲得的名次...

資料結構實驗報告六(排序實

資料結構實驗報告六 排序實踐 我是qq 資料結構與演算法課程實驗報告 實驗六 排序實踐 姓名 班級 學號 實驗六排序實踐 一 實驗內容 實現各排序演算法,必須實現起泡排序 希爾排序和簡單選擇排序,其他排序演算法選做,並分析各演算法的效能。二 實驗目的 掌握各排序演算法的實現方法,並分析各排序演算法的...