16周 專案(一) 快速排序

2021-07-08 21:40:23 字數 727 閱讀 2475

問題及**:

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

輸出及結果:

分析:

第16周 專案1(2) 快速排序

問題描述 2.以中間位置的元素為基準 實現 cpp view plain copy include define maxsize 20 typedef intkeytype 定義關鍵字型別 typedef char infotype 10 typedef struct 記錄型別 rectype 排序...

第16周專案1(6)堆排序

問題及 檔名稱 專案1.6.cpp 完成日期 2015.12.19 問題描述 輸入描述 無 程式輸出 測試資料 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct ...

第16周專案1 (6)基數排序

問題及 檔名稱 1.cpp 作 者 王修文 完成日期 2016年12月15日 版 本 號 v1.0 問題描述 驗證基數排序,完成測試。輸入描述 無 程式輸出 測試資料 include include include define maxe 20 線性表中最多元素個數 define maxr 10 基...