Добавил:
Hist
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программы c++ (сортировка, хэширование) / 2 / Shaker_Sort_Sokolov
.cpp//4. Шейкерная сортировка (улучшеная пузырьковая, обменная) по убыванию
#include <iostream>
#include <stdio.h>
#include <math.h>
#define n 20
using namespace std;
int mass[n];
void input(void)
{
int i;
for (i=0; i<n; i++)
{
mass[i]=n+n*sin(i); //Random
//mass[i]=n-i; //убывание
//mass[i]=i; //возрастание
}
}
void output(void)
{
int i;
for (i=0; i<n; i++)
{
cout << mass[i] << " ";
}
cout << "\n";
}
void Sha_So(void)
{
int l,r,j,x;
l=1;
r=n;
while (l<=r)
{
//Пузырек слева направо
for (j=l; j<r; j++)
{
if (mass[j]<mass[j-1])
{
x=mass[j];
mass[j]=mass[j-1];
mass[j-1]=x;
}
}
r--;
//Пузырек справа налево
for (j=r; j>=l; j--)
{
if (mass[j]<mass[j-1])
{
x=mass[j];
mass[j]=mass[j-1];
mass[j-1]=x;
}
}
l++;
}
}
int main(void)
{
input();
output();
Sha_So();
output();
}
Соседние файлы в папке 2