Сортировка методом подсчета
Лабораторная работа, 14 Августа 2015, автор: пользователь скрыл имя
Краткое описание
Целью работы является изучить методы сортировок. В результате работы должна быть написана программа, которая сортирует массив данных различного типа методом подсчета.
Содержание
1 Постановка задачи 2
2 Математическая модель 3
3 Алгоритмическая модель 4
4 Текст программы 24
5 Руководство пользователя 31
Заключение 32
Список литературы 33
Вложенные файлы: 1 файл
sortirovka_metodom_podscheta.docx
— 447.20 Кб (Скачать файл)cout << A[i] << "\t";
}
printf("\n");
maxC=(int)A[0];
minC=(int)A[0];
for(i=1; i<n; i++){
if(maxC<A[i])
maxC=A[i];
if(minC>A[i])
minC=A[i];
}
C=(int
*)calloc(maxC-minC+1,sizeof(
for(i=0; i<n; i++){
C[(int)A[i]-minC]++;
}
printf("Результат: \t");
//Вывод в от большего к меньшему
for(i=maxC-minC; i>=0; i--){
for(j=0; j<C[i]; j++){
cout << char(i+minC) << "\t";
}
}
printf("\n\n");
free(C);
free(A);
}
void Exit(){
printf("\n\nВы ввели 6 для завершения работы.\n");
exit(0);
}
- Руководство пользователя
- Запустите приложение “SORTCPP”.
- Выберите нужный пункт меню.
Рисунок 1 – экранная форма
- Далее следуя подсказкам вводите данные.
Рисунок 2 – экранная форма
- После того, как будет введено количество элементов и границы сортируемого диапазона, на экран выведется исходный массив (он заполняется случайным образом).
Рисунок 3 – экранная форма
- После этого программа проделает вычисления и выведет отсортированный массив.
Рисунок 4 – экранная форма
- После этого программа предложит выбрать пункт меню еще раз.
Заключение
В ходе работы был изучен метод сортировки подсчетом, которая имеет свои особенности.
Во-первых, применение сортировки подсчётом целесообразно лишь тогда, когда сортируемые числа имеют диапазон возможных значений, который достаточно мал по сравнению с сортируемым множеством. Эффективность алгоритма падает, если при попадании нескольких различных элементов в одну ячейку, их надо дополнительно сортировать.
Во-вторых, сортировка подсчетом не годится
для вещественного типа исходных данных,
так как размер дополнительного массива-счетчика
равен максимальному элементу исходного
массива, а это может быть только натуральное
число.
Список литературы
- Кнут Д. Э. Искусство программирования. – Вильямс, 2001. – 800 с.
- Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ. 2-е издание. – М.: Вильямс, 2010. – 1296 с.
- Гасфилд Д. Строки, деревья и последовательности в алгоритмах. – БХВ – Петербург, 2003. – 654 с.