用快速排序演算法對一組待排序資料進行排序。實現如下操作:已知陣列a[n]為整型的元素,將其用快速排序演算法進行排序,要求輸出排序以後的資料,元素之間用乙個空格隔開。 注意:待排序資料元素的個數n和n個資料元素的值依次由鍵盤輸入。
輸入格式:
輸入元素的個數n 輸入n個待排序的元素的值,使用空格分隔
輸出格式:
輸出排好序的元素,使用空格分隔
輸入樣例:
1059 20 17 36 98 14 23 83 13 28
輸出樣例:
13 14 17 20 23 28 36 59 83 98
#include
using namespace std;
void quicksort(int q,int l,int r);
int main()
quicksort(a,0,n-1);
for(int k=0;k=r)return;
int i=l-1,j=r+1,x=q[l+r>>1];
while(ix);
if(i}quicksort(q,l,j),quicksort(q,j+1,r);
}
快速排序 轉 快速排序的實現
總的說來,要直接默寫出快速排序還是有一定難度的,因為本人就自己的理解對快速排序作了下白話解釋,希望對大家理解有幫助,達到快速排序,快速搞定。快速排序是c.r.a.hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其為分治法 divide and conquermethod ...
7 7函式實現指標字元陣列的排序
說明乙個可存放10個字串的字元陣列,個字串有使用者輸入 假設使用者輸入的字串長度上限為32 陣列中每個元素的大小根據使用者輸入串的實際大小動態確定。編乙個函式對陣列進行排序。排序時無需交換兩個串,只交換他們的指標即可 c 實現 include include 因為編譯器的問題,所以用getch 顯示...
快速排序的實現
先寫 一會再總結 public class testquicksort for int x array system.out.println quicksort array,0,array.length 1 for int x array 對分割元素左右段陣列進行遞迴快排,直到左右陣列只剩下1個元素...