Метод пузырька оформить как отдельную функцию - C (СИ)
Формулировка задачи:
Дана последовательность чисел A размерности N. Выбрать среди них числа больше заданного числа в последовательность B и расположить их по возрастанию. Найти номер первого и последнего членов полученной последовательности в исходной последовательности. Вывести исходную и полученную последовательности и найденные номера.
Решить используя сортировку пузырька и оформит ее как отдельную функцию.
Решение задачи: «Метод пузырька оформить как отдельную функцию»
textual
Листинг программы
void sort_choice(int* array, int kol)
{
if(array==NULL)
printf("Массив пуст или не создан, сортировка невозможна!!!\n");
else
{
for(int i=0; i<kol; i++)
{
int max_index=i;
for(int j=i+1; j<kol; j++)
{
if(array[max_index]>array[j]) // знак больше или меньше определяет сортировку (возрастание, убывание)
max_index=j;
}
int temp =array[max_index];
array[max_index]=array[i];
array[i]=temp;
}
}
}
Объяснение кода листинга программы
- Предоставлен код функции sort_choice, которая сортирует массив методом пузырька.
- Если массив равен NULL, выводится сообщение об ошибке, и сортировка не выполняется.
- В противном случае, цикл for выполняется для каждого элемента массива от 0 до kol-1.
- Внутри цикла, переменная max_index инициализируется значением текущего индекса.
- Затем, в цикле for, проходится по всем элементам массива, начиная с текущего индекса + 1.
- Если текущий элемент больше элемента, хранящегося в max_index, то max_index обновляется значением текущего индекса.
- После завершения внутреннего цикла, выполняется обмен элементов массива по индексам max_index и i.
- Цикл for повторяется до тех пор, пока все элементы массива не будут отсортированы.
- Код не содержит комментариев, объясняющих его работу.