-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqucik_sort.cpp
More file actions
61 lines (49 loc) · 808 Bytes
/
qucik_sort.cpp
File metadata and controls
61 lines (49 loc) · 808 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include"header_file.h"
using namespace std;
void swap(int a,int b)
{
int t;
t=a;
a=b;
b=t;
}
void quick_sort(int a[],int low,int high)
{
if(low>=high)
return;
int first;
int last;
first=low;
last=high;
int x;
x=a[low];
while(low<high)
{
while(low<high&&a[high]>=x)
{
high--;
}
a[low]=a[high];
// cout<<i<<" "<<low<<" low"<<" "<<high<<endl;
while(low<high&&a[low]<=x)
{
low++;
}
a[high]=a[low];
// swap(a[high],a[low]);
// cout<<i<<" "<<low<<" high"<<" "<<high<<endl;
}
a[low]=x;
if(first<low-1)
quick_sort(a,first,low-1);
if(last>low+1)
quick_sort(a,low+1,last);
}
int main(void)
{
int a[7]={4,3,6,7,2,1,5};
quick_sort(a,0, sizeof(a) / sizeof(a[0]) - 1);
// cout<<"test"<<endl;
for(int i=0;i<7;i++)
cout<<a[i]<<" ";
}