第十六周 專案1 (4)驗證快速排序

2021-07-25 10:26:20 字數 932 閱讀 4273

/*     

*煙台大學計控學院

*作 者:臧新曉

*完成日期:2023年12月16日

*問題描述:用序列作為測試資料,驗證快速排序

*/

(1)以第1個元素作為基準

#include #define maxsize 20

typedef int keytype; //定義關鍵字型別

typedef char infotype[10];

typedef struct //記錄型別

rectype; //排序的記錄型別定義

void quicksort(rectype r,int s,int t) //對r[s]至r[t]的元素進行快速排序

rectype; //排序的記錄型別定義

void quicksort1(rectype r,int s,int t) //對r[s]至r[t]的元素進行快速排序

{

int i=s,j=t;

keytype pivot;

rectype tmp;

pivot = r[(s+t)/2].key; //用區間的中間位置的元素作為關鍵字

if (si && r[j].key>pivot)

j--; //從右向左掃瞄,找第1個小於基準的r[j]

while (i

知識點總結:

取乙個元素為基準,將該元素放在恰當位置,將它與所有的關鍵字比較,比他大的在後面,比他小的在前面。

學習心得:

理清排序的思路。

第十六周專案1 (4)快速排序

問題及 檔名稱 ccc.cpp 作 者 陳夢雪 完成日期 2016年12月16日 版 本 號 v1.0 問題描述 用序列作為測試資料,驗證快速排序 輸入描述 無 程式輸出 測試資料 以第乙個元素作為基準 include define maxsize 20 typedef int keytype 定義...

第十六周 專案1 4 驗證演算法

檔名稱 main.cpp,graph.h,graph cpp 完成日期 2015年12月14日 版本號 vc 6.0 觀察執行結果並深刻領會演算法的思路和實現方法 1 直接插入排序 2 希爾排序 3 氣泡排序 4 快速排序 5 直接選擇排序 6 堆排序 7 歸併排序 8 基數排序。輸入描述 incl...

第十六周 驗證演算法(快速排序)

all right reserved.date 2015年12月14日 版本 v1.0.1 作業系統 xp 執行環境 vc6.0 問題描述 用序列作為測試資料,以第乙個元素作為基準 include define maxsize 20 typedef int keytype 定義關鍵字型別 typed...