Đang tải…
Đang tải…
Xây dựng mảng đã sắp xếp từng phần tử một, chèn mỗi phần tử mới vào đúng vị trí trong đoạn đầu đã sắp.
Phần tử đầu coi như đã sắp xếp.
1void insertionSort(int[] arr) {2 for (int i = 1; i < arr.length; i++) { // mở rộng đoạn đã sắp3 int key = arr[i]; // phần tử cần chèn4 int j = i - 1;5 while (j >= 0 && arr[j] > key) { // dịch số lớn sang phải6 arr[j + 1] = arr[j];7 j--;8 }9 arr[j + 1] = key; // đặt key vào chỗ trống10 }11}