привет!
Привет всем, сегодня мы закончили выпускной экзамен по языку C.
Интересно, все ли студенты сдали экзамен?
Потому что многие студенты до сих пор не знают, как использовать метод «пузыря» перед экзаменом.
В этом выпуске я специально разобрался с использованием метода барботажа.
Для справки!
Давайте сначала посмотрим на исходный код:
#include<stdio.h>
void main()
{
int a[10],i,j,t;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<=9;i++)
printf("%d\t",a[i]);
}
Из кода мы видим, что, за исключением операторов входного и выходного массива,
Кода осталось не так уж много,
Принцип барботажного метода заключается в следующем:
Предположим, что 10 чисел расположены от меньшего к большему.
Сравнивая два соседних числа, если первое окажется больше второго, то два
Просто поменяйте их местами, а затем сравните по два. Таким образом, после одного раунда сравнения,
Мы можем получить максимальное значение.
Если вам нужно отсортировать десять чисел, внешний цикл будет i=0~i=8, 9 раз будет достаточно.
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
Ниже приводится диаграмма текущих результатов:
Конечно, мы также можем улучшить код, например, добавив пользовательские функции...
Вот и все! Увидимся в следующий раз, пока~
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/183827.html Исходная ссылка: https://javaforall.cn