C C 學習 數字排序(使用快速排序)

2021-06-28 19:16:49 字數 1485 閱讀 3366

兩周實訓,第六題:數字排序。

問題描述:編寫程式,從鍵盤輸入10個int型別數,按從小到大順序進行排序,然後輸出。要求用函式sort()進行排序,用函式input()輸入資料,用函式output()輸出資料。

由於沒有規定具體排序演算法,這裡選用快速排序進行操作。

完整**:

/*

module name:數字排序 (使用快速排序)

module date:20141222

module auth:clyoko

description:編寫程式,從鍵盤輸入10

個int型別數,按從小到大順序進行排序,然後輸

出。要求用函式sort()進行排序,用函式input()

輸入資料,用函式output()輸出資料

other:

revision history:

date rel ver. notes

20141222 1.0 建立程式

*/#include

#include

int data[10]=;

void quicksort(int temp,int left,int right);

void output(int *a);

void input(int *a);

int main(int argc, char *argv)

/*function name:quicksort

function:description:快速排序

inputs:int temp,int left,int right

outputs:void

notes:nil

*/void quicksort(int temp,int left,int right)

t=temp[i];

temp[i]=temp[left];

temp[left]=t;

quicksort(temp,left,i-1);

quicksort(temp,i+1,right);

return;}/*

function name:input

function:description:輸入處理

inputs:int *a

outputs:void

notes:nil

*/void input(int *a)}/*

function name:output

function:description:輸出處理

inputs:int *a

outputs:void

notes:nil

*/void output(int *a)

}

作者: clyoko

文章**:

快速排序 C C

快排演算法 快排和冒泡都是基於交換的思想,但是進行了改進,更為高效。流程 1 首先設定乙個分界值,通過分界值將陣列分成左右兩部分。2 將大於或等於分界值的資料集中到陣列右邊,小於分界值的資料集中到陣列的左邊。3 左右兩個部分重複上述排序。從上述流程可以看出,這就是乙個遞迴的過程,遞迴終止即只有乙個元...

C C 快速排序,插入排序

本文包含 取隨機數 random函式 快速排序 qsort函式 快速排序的優化 數量少的時候使用插入排序,尾遞迴優化 qsort1函式 插入排序 0位置使用 哨兵 小技巧提高效率 insertsort函式 include include include include include include...

C C 實現快速排序

file gm qsort.h brief 實現快速排序 author don hao date 2011 8 21 22 31 06 version email hao.limin gmail.com company modification write modifications here.if...