Скачиваний:
34
Добавлен:
02.05.2014
Размер:
1 Кб
Скачать
#include "iostream.h"
#include "stdio.h"

void shakerSort(int array[], int size){
	int i, j, k, L, R;
	int item;
	L = 1;
	R = size - 1;
	k = size - 1;
	while ( L < R ){
		for ( j = R; j >= L; j -- ){
			if ( array[j-1] > array[j] ){
				item = array[j-1];
				array[j-1] = array[j];
				array[j] = item;
				k = j;
			}
		}
		L = k + 1;
		for ( j = L; j <= R; j ++ ){
			if ( array[j-1] > array[j] ){
				item = array[j-1];
				array[j-1] = array[j];
				array[j] = item;
				k = j;
			}
		}		
		R = k-1;
	}
}

void main(){
	int i, size;
	int *array;
    cout << "Shaker Sort.\nEnter array dimension: ";
    cin >> size;
	array = new int[size];
    cout << "Enter " << size << " elements: ";
	for ( i = 0; i < size; i ++ ){
		cin >> array[i];
	}

	shakerSort( array, size );

	cout << "Your array after sorting: ";
	for ( i = 0; i < size; i ++ ){
		cout << array[i] << " ";
	} 
    cout << "\nPress \"Enter\" to continue..." << endl; 
    getchar();
}