Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Шпоры по МПиПА / Массивы / Сортировка / Шейкер-сортировка / C / Исходник / shakerSort
.cpp#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();
}