Hoán đổi các phần tử liền kề
Bài học 3 trên 11 trong khóa học Sắp xếp nổi bọt của Coddy.
Chúng ta đã tìm hiểu cách hoạt động của thuật toán sắp xếp nổi bọt. Ta cần duyệt qua danh sách và hoán đổi các phần tử không đúng thứ tự. Ta cần lặp lại quá trình này cho đến khi danh sách được sắp xếp.
Hãy cùng ôn lại cách một lượt chạy hoạt động: Ta cần duyệt qua danh sách, so sánh và hoán đổi các phần tử liền kề.
Ta cần sắp xếp một danh sách có 4 phần tử:
[3,4,2,1]So sánh hai phần tử đầu tiên
[3,4,2,1] -> [3,4,2,1] (Không thay đổi vì chúng đã đúng thứ tự)
So sánh hai phần tử tiếp theo
[3,4,2,1] -> [3,2,4,1] (Hoán đổi các phần tử để đưa chúng về đúng thứ tự)
So sánh hai phần tử tiếp theo
[3,2,4,1] -> [3,2,1,4] (Hoán đổi các phần tử để đưa chúng về đúng thứ tự)
Ở thử thách trước, chúng ta đã học cách hoán đổi hai phần tử. Đây là thử thách để bạn triển khai quy trình vừa trình bày.
Thử thách
DễTạo một hàm (function) có tên swap_list nhận một mảng. Duyệt qua mảng, so sánh và đổi chỗ các phần tử liền kề, rồi trả về danh sách mới.
Tự làm thử
#include <stdio.h>
#include <stdlib.h>
int* swap_list(int* arr, int arr_size, int* returnSize) {
// Viết code ở đây
*returnSize = arr_size;
return arr;
}
Tất cả bài học trong Sắp xếp nổi bọt
1Kiến thức cơ bản về sắp xếp nổi bọt
Giới thiệuCách hoạt động của sắp xếp nổi bọtHoán đổi các phần tử liền kềThuật toán sắp xếp nổi bọtTự luyện tập: Trình biên dịch C online