Liên tục chọn giá trị nhỏ nhất từ phần chưa sắp xếp rồi hoán đổi vào đúng vị trí được gọi là sắp xếp chọn (selection sort). Đoạn giả mã dưới đây sắp xếp mảng data theo thứ tự tăng dần.
○ mảng số nguyên: selectionSort(mảng số nguyên: data)
số nguyên: i, j, minIndex, temp
for (i từ 0 đến (số phần tử của data) - 2, tăng dần 1)
minIndex ← i
for (j từ i + 1 đến (số phần tử của data) - 1, tăng dần 1)
if (data[j] nhỏ hơn data[minIndex]) then
minIndex ← j
endif
endfor
temp ← data[i]
data[i] ← data[minIndex]
data[minIndex] ← temp
endfor
return dataGiả sử mảng data = [4, 1, 3, 2].