問題描述:
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;
}
執行結果:
知識點總結:
快速排序
心得體會:
以中間為基準展開排序。
16周 專案(一) 快速排序
問題及 1.以第1個元素作為基準 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct 記錄型別 rectype 排序的記錄型別定義 void quicksort r...
第12周 專案1(2)
問題及 檔名稱 main.cpp 作 者 賈慶嚴 完成日期 2016年6月15日 版 本 號 v1.0 問題描述 用類的成員函式,定義複數類過載運算子 使之能用於複數的加減乘除 include using namespace std class complex complex double r,do...
第16周專案1(6)堆排序
問題及 檔名稱 專案1.6.cpp 完成日期 2015.12.19 問題描述 輸入描述 無 程式輸出 測試資料 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct ...