/*
* 檔名稱 :1.cpp
* 作 者 :楊俊傑
* 完成日期 :2023年 12月15日
* 版 本 號 :v1.0
* 問題描述 :
* 輸出描述 :
*/快速排序:
1).以第乙個元素為基準
[cpp]view plain
copy
#include
#define maxsize 20
typedef
intkeytype;
//定義關鍵字型別
typedef
char
infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void
quicksort(rectype r,
ints,
intt)
//對r[s]至r[t]的元素進行快速排序
r[i]=tmp;
quicksort(r,s,i-1); //對左區間遞迴排序
quicksort(r,i+1,t); //對右區間遞迴排序
} }
intmain()
; for
(i=0; i
r[i].key=a[i];
printf("排序前:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
quicksort(r,0,n-1);
printf("排序後:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
return
0;
}1
2).以中間位置元素為基準
[cpp]view plain
copy
#include
#define maxsize 20
typedef
intkeytype;
//定義關鍵字型別
typedef
char
infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void
quicksort1(rectype r,
ints,
intt)
//對r[s]至r[t]的元素進行快速排序
} quicksort1(r,s,i-1); //對左區間遞迴排序
quicksort1(r,j+1,t); //對右區間遞迴排序
} }
intmain()
; for
(i=0; i
r[i].key=a[i];
printf("排序前:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
quicksort1(r,0,n-1);
printf("排序後:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
return
0;
}
執行結果:
第十六周 專案1驗證演算法 快速排序
問題及 煙台大學計算機與控制工程學院 作 者 車佳穎 完成日期 2016年12月15日 1 直接插入排序 2 希爾排序 3 氣泡排序 4 快速排序 5 直接選擇排序 6 堆排序 7 歸併排序 8 基數排序。以第乙個元素作為基準 include define maxsize 20 typedef in...
第十六周專案1 驗證演算法 快速排序
程式 檔名稱 1.cpp 完成日期 2016年12月16日 版本號 vc6.0 觀察執行結果並深刻領會演算法的思路和實現方法。輸入描述 無 程式輸出 測試結果 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char inf...
第十六周專案(1) 驗證演算法4 快速排序
問題及 煙台大學計算機與控制工程學院 作 者 楊甯 完成日期 2015年12月14日 問題描述 用序列作為測試資料,驗證快速排序。include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typede...