30/09/2018, 22:03
Sắp xếp mảng dùng quick_sort
mn xem giúp em bài này với, hàm quick_sort nó không chạy.
using namespace std;
void init(int a[], int n){
cout<<"
Nhap gtri: ";
for(int i=0;i<n;i++){
cin>>a[i];
}
}
void in(int a[], int n){
for(int i=0;i<n;i++){
cout<<" "<<a[i];
}
}
void swap(int &a, int &b){
int temp=a;
a=b;
b=temp;
}
void partion(int a[], int l, int r){
int i=l,j=r;
int mid=a[(l+r)/2];
while(i<=j){
while(a[i] < mid) i++;
while(a[j] > mid) j--;
if(i<=j) {
swap(a[i], a[j]);
i++;
i--;
}
}
if(l<j) partion(a,l,j);
if(i<r) partion(a,i,r);
}
void quick_sort(int a[], int n){
partion (a,0,n-1);
}
int main(){
int a[100], n;
cin>>n;
init(a,n); in(a,n);
quick_sort(a,n); in(a,n);
}
Em cảm ơn ạ.
Bài liên quan
bạn truyền dữ liệu bằng tham chiếu, chứ truyền tham trị thì nó không chạy đc đâu
This post was flagged by the community and is temporarily hidden.
debug lại báo sai ở dòng int i=l,j=r;
t k hiểu!!!
Xem lại biến sau swap
tham số thực trong lời gọi hàm sai nè bạn