時限:1000ms 記憶體限制:10000k 總時限:3000ms
描述給定乙個數列,用快速排序演算法把它排成公升序。
輸入第一行是乙個整數n,表示要排序的數的個數;下面一行是用空格隔開的n個整數。
輸出輸出排序後的數列,每個數字佔一行。
輸入樣例
5 3 2 1 4 5
輸出樣例
1 2
3 4
5
// 快速排序.cpp : 定義控制台應用程式的入口點。
#include
#include
using
namespace
std;
//交換a與b的值
void swap(int &a,int &b)
//partition實現方法2,演算法導論實現方法
int partition(int * a,int low,int high)
//在p位置和其後的都是小於等於pivotkey的元素}}
p+=1;
swap(a[p],a[high]);
return p;
}void qsort(int *a,int start,int end)
}//遞迴形式的快速排序
void quicksort(int *a,int len)
int main()
int len=sizeof(a)/sizeof(int);
quicksort(a,n);
for(i=0;iprintf("%d\n",a[i]);
return
0;}
NOJ 1003 快速排序
給定乙個數列,用快速排序演算法把它排成公升序。第一行是乙個整數n n不大於10000 表示要排序的數的個數 下面一行是用空格隔開的n個整數。輸出排序後的數列,每個數字佔一行。5 3 2 1 4 5 123 45 include using namespace std void quicksort i...
1003 快速排序
問題描述 給定乙個數列,用歸併排序演算法把它排成公升序 輸入格式 第一行是乙個整數n n不大於10000 表示要排序的數的個數 下面一行是用空格隔開的n個整數。輸出格式 輸出排序後的數列,每個數字佔一行。樣例輸入 53 2 1 4 5 樣例輸出12 345思路 寫出快排的核心 以中間值為關鍵字,兩層...
C 排序演算法練習 快速排序
在所有的技藝中,武功是最強調內功的,比如同樣都學了辟邪劍譜,為什麼岳不群要比林平之厲害?武功的招式固然重要,但沒有深厚的內功,威力會大打折扣.那麼,內功是怎麼練出來的呢?冬練三九,夏練三伏,古人早有定論.而這些道理用在程式開發上也一樣適用.include using namespace std 演算...