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

/codegym.vn/ - 158

Bước 5: Danh sách còn lại là {8, 9, 6}.
Tìm được phần tử nhỏ nhất là 6, hoán
đổi vị trí số 6 với số 8.

Bước 6: Danh sách còn lại là {9, 8}.
Tìm được phần tử nhỏ nhất là 8, hoán
đổi vị trí của số 8 và số 9.

Bước 7: Danh sách còn lại chỉ một phần
tử duy nhất là số 9.
Không cần thực hiện thêm thao tác nào
nữa. Danh sách đã được sắp xếp.

Quá trì sắp xếp chọn lần lượt các số vào đúng vị trí

Giải thuật

Từ mô tả ở trên, chúng ta có thể có một giải thuật cho thuật toán sắp xếp chọn như
sau:

1.

for

(

int

i

=

0

;

i

<

list

.

length

-

1

;

i

++)

{

2. t

ì

m ph

n t

nh

nh

t trong danh s

á

ch list

[

i

..

list

.

length

-

1

];

3. ho

á

n

đổ

i ph

n t

nh

nh

t v

i ph

n t

list

[

i

]

n

ế

u c

n thi

ế

t

4.

// list[i] đã nằm đúng vị trí của nó.

5.

// lần lặp tiếp theo được thực hiện trong danh sách còn lại list[i+1..list.length-1]

6.

}

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

1.

function

selectionSort

(

arr

)

{

2.

let

minIndex

,

temp

,

len

=

arr

.

length

;

3.

for

(

let

i

=

0

;

i

<

len

;

i

++)

{

4. minIndex

=

i

;

5.

// tìm index của giá trị nhỏ nhất

6.

for

(

let

j

=

i

+

1

;

j

<

len

;

j

++)

{

7.

if

(

arr

[

j

]

<

arr

[

minIndex

])

{

8. minIndex

=

j

;

9.

}

10.

}

11.
12.

// Đổi chỗ

13. temp

=

arr

[

i

];

14. arr

[

i

]

=

arr

[

minIndex

];

15. arr

[

minIndex

]

=

temp

;

16.

}

17.

return

arr

;

18.

}

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.