/*
*煙台大學計控學院
*作 者:臧新曉
*完成日期: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...