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

/codegym.vn/ - 154

2

5

4

8

1

9

Kết thúc lượt thứ nhất, số 9 đã được “nổi” lên trên cùng. Chúng ta sẽ thực hiện lượt
thứ hai với 5 phần tử còn lại là (2 5 4 8 1). Kết thúc lượt thứ hai thì số 8 sẽ được nổi
lên. Và cứ như vậy cho đến khi tất cả các phần tử đứng đúng ở vị trí của nó.

2

4

5

1

8

9

Lượt thứ hai – Số 8 được “nổi” lên

2

4

1

5

8

9

Lượt thứ ba – Số 5 được “nổi” lên

2

1

4

5

8

9

Lượt thứ tư – Số 4 được “nổi” lên

1

2

4

5

8

9

Lượt thứ năm – Số 2 được “nổi” lên

Sắp xếp từ dưới lên

Sắp xếp từ dưới lên so sánh (và đổi chỗ nếu cần) bắt đầu từ việc so sánh cặp phần
tử thứ n-1n. Tiếp theo là so sánh cặp phần tử thứ n-2 và n-1,... cho đến khi so
sánh và đổi chỗ cặp phần tử thứ nhất và thứ hai. Sau bước này phần tử nhỏ nhất đã
được “nổi” lên vị trí trên cùng (nó giống như hình ảnh của các "bọt" khí nhẹ hơn được
nổi lên trên). Tiếp theo tiến hành với các phần tử từ thứ 2 đến thứ n.

Mã giả

Sắp xếp từ trên xuống

1. procedure bubble_sort1

(

list L

,

number n

)

//n=listsize

2.

For

number i

from

n downto

2

3.

for

number j

from

1

to

(

i

-

1

)

4.

if

L

[

j

]

>

L

[

j

+

1

]

//nếu chúng không đúng thứ tự

5. swap

(

L

[

j

],

L

[

j

+

1

])

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

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

Sắp xếp từ dưới lên

1. procedure bubble_sort2

(

list L

,

number n

)

//n=listsize

2.

For

number i

from

1

to n

-

1

3.

for

number j

from

n

-

1

downto i

4.

if

L

[

j

]

>

L

[

j

+

1

]

//nếu chúng không đúng thứ tự

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.