Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Упорядочение элементов массива. Сортировка методом пузырька




 

Сортировка методом пузырька. Сортировка пузырьковым методом является наиболее известной. Ее популярность объясняется запоминающимся названием, которое происходит из-за подобия процессу движения пузырьков в резервуаре с водой, когда каждый пузырек находит свой собственный уровень, и простотой алгоритма. Сортировка методом «пузырька» использует метод обменной сортировки и основана на выполнении в цикле операций сравнения и при необходимости обмена соседних элементов. Рассмотрим алгоритм пузырьковой сортировки более подробно.

Сравним нулевой элемент массива с первым, если нулевой окажется больше первого, то поменяем их местами. Те же действия выполним для первого и второго, второго и третьего, i- го и (i+1)-го, предпоследнего и последнего элементов. В результате этих действий самый большой элемент станет на последнее (n-1)-е место. Теперь повторим данный алгоритм сначала, но последний (n-1)-й элемент, рассматривать не будем, так как он уже занял свое место. После проведения данной операции самый большой элемент оставшегося массива станет на (n- 2)-е место. Так повторяем до тех пор, пока не упорядочим весь массив. Блок - схема сортировки элементов массива по возрастанию (для сортировки по убыванию надо поменять в блок-схеме знак «>» на знак «<») представлена на рис. 9.

Рисунок 9: Упорядочивание массива по возрастанию

методом пузырька

 

int main()

{

float b,max,a[20];

int i,j,n,k,nom;

cout<<"n=";

cin>>n;

cout<<"Massiv a\n";

for(i=0;i<n;i++)

cin>>a[i];

for(j=1;j<=n-1;j++)

for(i=0;i<=n-1-j;i++)

if (a[i]>a[i+1])

{

b=a[i];

a[i]=a[i+1];

a[i+1]=b;

}

cout<<"Massiv a\n";

for(i=0;i<n;i++)

cout<<"a("<<i<<")="<<a[i]<<"\t";

cout<<endl;

return 0;

}

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных