Vì arri arrj nên ph ? n t ử arri s ẽ hoán

Info icon This preview shows pages 7–9. Sign up to view the full content.

View Full Document Right Arrow Icon
- Vì arr[i] > arr[j], nên ph n t arr[i] s hoán đổ i cho arr[j] 2 5 3 1 4 i=0 j=3 - Vì arr[i] > arr[j], nên ph n t arr[i] s hoán đổ i cho arr[j] 1 5 3 2 4 i=1 j=2 - Vì arr[i] > arr[j], nên ph n t arr[i] s hoán đổ i cho arr[j] 1 3 5 2 4 i=1 j=3 - Vì arr[i] > arr[j], nên ph n t arr[i] s hoán đổ i cho arr[j] 1 2 5 3 4 i=2 j=3 - Vì arr[i] > arr[j], nên ph n t arr[i] s hoán đổ i cho arr[j] 1 2 3 5 4 i=3 j=4 - Vì arr[i] > arr[j], nên ph n t arr[i] s hoán đổ i cho arr[j] 1 2 3 4 5 - K ế t thúc quá trình s p x ế p m ng, lúc này m ảng đã tăng d n theo thu t toán ========================== THU T TOÁN INTERCHANGE SORT ========================== // hàm có ch ức năng hoán vị 2 v trí c a 2 ph n t cho nhau void Hoan_Vi( int &x, int &y) { int temp = x; x = y; y = temp; } void InterchangeSort( int arr[], int n) { // vòng l p duy t t 0 đế n ph n t k ế cu i(i < n - 1) for ( int i = 0; i < n - 1; i++) { // vòng l p b ắt đầ u duy t t v trí sau v trí i 1 đơn vị <=> j = i + 1 đế n cu i m ng for ( int j = i + 1; j < n; j++) { // điề u ki n có tác d ụng đẩ y các ph n t l ớn hơn về phía cu i m ng <=> bên ph i if (arr[i] > arr[j]) { Hoan_Vi(arr[i], arr[j]); // đổ i ch ph n t l ớn hơn về bên ph i, nh hơn về bên trái } } } } Nh n xét: - Có r t nhi u thu t toán s p x ếp khác nhau, nhưng thườ ng thì chúng ta ch thao tác trên 1 ho c 2 thu t toán s p x ế p, chúng ta l a ch n thu ật toán nào mà khi ta cài đặ t code d hi u, d hình dung. - Khi g ặp bài toán liên quan đế n v ấn đề s p x ếp thì tôi thườ ng hay dùng thu t toán s p x ếp đổ i ch tr c ti ế p InterchangeSort, b i vì đây là thuậ t toán d thao tác và d cài đặ t.
Image of page 7

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon