Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

сиаод / 35-66 / 47. Сортировка подсчетом

.pdf
Скачиваний:
67
Добавлен:
11.05.2015
Размер:
236.48 Кб
Скачать

47. Сортировка подсчетом

Суть метода заключается в том, что на каждом шаге подсчитывается, в какую позицию результирующего массива B надо записать очередной элемент исходного массива A . Если некоторый элемент A[i] помещается в результирующий массив в позицию k + 1, то слева от B[k + 1] должны стоять элементы меньшие или равные B[k +1]. Значит, число k складывается из количества элементов меньших A[i] и, возможно, некоторого числа элементов, равных A[i]. Условимся, что из равных будут учитываться только те элементы, которые в исходном массиве стоят левее A[i]:

Алгоритм CountingSort(A[1..n],B[1..n])

1.For i=1 to n do C[i]<-0

2.For i=1 to n-1 do

3.For j=i+1 to n do

4.If A[i]>=A[j] then C[i]<-C[i]+1

5.Else C[j]<-C[j]+1

6.End for

7.End for

8.For i=1 to n do

9.B[C[i]+1]<-A[i]

10.Return B