1 #include<iostream>
 2 using namespace std;
 3 
 4 
 5 void print(int a[],int n)
 6 {
 7     for(int i=0;i<n;i++)
 8         cout<<a[i]<<" ";
 9     cout<<endl;
10 }
11 void quick_sort(int a[],int l,int r)
12 {    
13     if(l<r)
14     {
15         int i=l,j=r,x=a[i];
16         while(i<j)
17         {
18             while(i<j && a[j]>x)
19                 j--;
20             if(i<j)
21                 a[i++]=a[j];//j位置处变为空白区
22             while(i<j && a[i]<x)
23                 i++;
24             if(i<j)
25                 a[j--]=a[i];//i位置处变为空白区
26         }
27         a[i]=x;//x的最终位置
28         quick_sort(a,l,i-1);
29         quick_sort(a,i+1,r);
30     }
31 }
32 int main()
33 {
34     int a[10]={5,3,7,2,6,4,13,1,9,8};
35     print(a,10);
36     quick_sort(a,0,9);
37     print(a,10);
38     return 0;
39 }

分治算法-快速排序

相关文章:

  • 2022-12-23
  • 2021-07-25
  • 2022-01-10
  • 2021-08-04
  • 2022-12-23
  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-31
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2021-09-06
相关资源
相似解决方案