Автор работы: Пользователь скрыл имя, 14 Августа 2015 в 18:57, лабораторная работа
Целью работы является изучить методы сортировок. В результате работы должна быть написана программа, которая сортирует массив данных различного типа методом подсчета.
1 Постановка задачи 2
2 Математическая модель 3
3 Алгоритмическая модель 4
4 Текст программы 24
5 Руководство пользователя 31
Заключение 32
Список литературы 33
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);
}
Рисунок 1 – экранная форма
Рисунок 2 – экранная форма
Рисунок 3 – экранная форма
Рисунок 4 – экранная форма
Заключение
В ходе работы был изучен метод сортировки подсчетом, которая имеет свои особенности.
Во-первых, применение сортировки подсчётом целесообразно лишь тогда, когда сортируемые числа имеют диапазон возможных значений, который достаточно мал по сравнению с сортируемым множеством. Эффективность алгоритма падает, если при попадании нескольких различных элементов в одну ячейку, их надо дополнительно сортировать.
Во-вторых, сортировка подсчетом не годится
для вещественного типа исходных данных,
так как размер дополнительного массива-счетчика
равен максимальному элементу исходного
массива, а это может быть только натуральное
число.
Список литературы