- UID
- 390967
- 帖子
- 1664
- 主題
- 857
- 精華
- 0
- 積分
- 869
- 楓幣
- 12340
- 威望
- 409
- 存款
- 10100
- 贊助金額
- 1800
- 推廣
- 0
- GP
- 2809
- 閱讀權限
- 150
- 在線時間
- 197 小時
- 註冊時間
- 2023-5-18
- 最後登入
- 2024-12-24
|
練習排序法中的快速排序法- #include <iOStream>
- using namespace std;
- int a[101], n;
- void quicksort(int left, int right){
- int i, j , t, temp, x;
- if(left>right)
- return;
-
- temp=a[left];
- i=left;
- j=right;
- while(i!=j){
- while (a[j]>=temp && i<j)
- j--;
- while (a[i]<=temp && i<j)
- i++;
-
- if(i<j){
- t=a[i];
- a[i]=a[j];
- a[j]=t;
- }
- }
-
- a[left]=a[i];
- a[i]=temp;
-
- for (x=1;x<=n;x++)
- cout<<a[x]<<" ";
-
- cout<<"("<<temp<<")"<<endl;
-
- quicksort(left, i-1);
- quicksort(i+1, right);
- }
- int main(){
- int i, j, t;
-
- cin>>n;
- for (i=1;i<=n;i++)
- cin>>a[i];
-
- quicksort(1, n);
-
- for (i=1;i<=n;i++)
- cout<<a[i]<<" ";
-
- cout<<endl;
-
- system("PAUSE");
- return 0;
- }
複製代碼 |
|