Menu
CoddyTech

Mã giả

Bài học 4 trên 9 trong khóa học Sắp xếp đếm, chuỗi DSA của Coddy.

countingSort(array):
   max = largest value in array
   count = array of (max + 1) zeros
   for each x in array:          # count phase
      count[x] += 1
   result = []                   # rebuild phase
   for v from 0 to max:
      repeat count[v] times:
         append v to result
   return result
  • count[v] dùng giá trị v làm chỉ số, vì vậy phạm vi giá trị quyết định kích thước của mảng đếm (count array).
  • Giai đoạn đếm thống kê mọi giá trị chỉ trong một lượt.
  • Giai đoạn dựng lại đưa mỗi giá trị vào đúng số lần theo thứ tự tăng dần, tạo ra một mảng đã sắp xếp.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Sắp xếp đếm, chuỗi DSA

Tự luyện tập: Trình biên dịch C online