Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
10.05.2014
Размер:
1.19 Кб
Скачать
//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