[[Sắp xếp đếm phân phối]] là phương pháp sắp xếp có độ phức tạp tuyến tính trong trường hợp các khóa nhận hữu hạn giá trị trong khoảng cho trước. Để đơn giản ta giả sử các phần tử của danh sách <math>a[1..n]</math> nhận các giá trị tự nhiên trong khoảng <math>[1..M].</math>
Sắp xếp đếm phân phối đầu tiên đếm các phần tử thuộc danh sách nhận giá trị ''k'' với <math>1 \le k \le M</math>. Các giá trị đếm được được ghi vào mảng <math>Counter[1..M]</math>. Sau đó khi duyệt theo ''k'' từ ''1'' đến ''M'', ta lần lượt xếp <math>Counter[k]</math> phần tử của vào danh sách <math>a[1..n]</math>.