Thuật toán insertion-sort (code chạy từng bước)
#include <stdio.h>
int n = 10; // thay doi so luong phan tu o day
void printArray(int *a){
for(int i=0;i<n;i++)
printf("%2d ",a[i]);
}
void swap(int &a,int &b){
int t = a;
a = b;
b = t;
}
void insertionSort(int *a) {
for(int i=1; i<n; i++){
for(int j=i; j>0; j--)
if(a[j]<a[j-1])
swap(a[j],a[j-1]);
printf("B%d: ",i);
printArray(a);
printf("\n");
}
}
int main(){
// thay doi gia tri cua cac so de xem sap xep nhu the nao
int *a =new int[n]{6,5,2,1,9,11,33,14,85,34};
printArray(a);
printf("\nMang sau khi sap xep:\n");
insertionSort(a);
return 0;
}
0 nhận xét:
Đăng nhận xét