LẬP TRÌNH CĂN BẢN - Trang 160

/codegym.vn/ - 155

5. swap

(

L

[

j

],

L

[

j

+

1

])

//đổi chỗ chúng cho nhau

6. endif
7. endfor
8. endfor
9. endprocedure

Cài đặt thuật toán sắp xếp nổi bọt

1.

function

bubbleSort

(

items

)

{

2.

let

length

=

items

.

length

;

3.

for

(

let

i

=

0

;

i

<

length

;

i

++)

{

4.

for

(

let

j

=

0

;

j

<

(

length

-

i

-

1

);

j

++)

{

5.

if

(

items

[

j

]

>

items

[

j

+

1

])

{

6.

let

tmp

=

items

[

j

];

7. items

[

j

]

=

items

[

j

+

1

];

8. items

[

j

+

1

]

=

tmp

;

9.

}

10.

}

11.

}

12.

}

4. Thuật toán sắp xếp chèn

Ý tưởng

Sắp xếp chèn (insertion sort) thực hiện sắp xếp một dãy số bằng cách duyệt từng
phần tử và chèn phần tử đó vào vị trí thích hợp trong một danh sách con mới sao cho
danh sách con luôn luôn được duy trì dưới dạng đã qua sắp xếp.
Ví dụ: Để sắp xếp một danh sách các số (2 9 5 4 8 1 6) theo trật tự tăng dần. Bước
đầu tiên, danh sách con mới chỉ chứa phần tử đầu tiên đó là số 2. Tiếp theo, chúng
ta sẽ chèn số 9 vào trong danh sách con đó, vì số 9 lớn hơn 2 cho nên số chỉ phải
được “chèn” vào phía sau 2. Sau đó, chúng ta sẽ chèn số 5 vào trong danh sách con,
vì số 5 lớn hơn 2 nhưng lại nhỏ hơn 9 cho nên sẽ được chèn vào giữa hai số này.
Tương tự như vậy cho các số còn lại cho đến khi tất cả các số đều được chèn vào
danh sách con.

Bước 1: Danh sách con chỉ có một phần
tử ban đầu là {2} Chúng ta chèn số 9 vào
sau số 2.

Bước 2: Danh sách con đã được sắp
xếp là {2, 9}. Chèn số 5 vào danh sách
con.

Bước 3: Danh sách con đã được sắp
xếp là {2, 5, 9}. Chèn số 4 vào danh sách
con.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.