Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Шпоры по МПиПА / Массивы / Сортировка / Сортировка Шелла / C / Исходник / shellSort
.cpp#include "iostream.h"
#include "stdio.h"
void shellSort(int *array, int n){
int i, j, k, gap, temp;
int a[] = {31, 15, 7, 3, 1};
for ( k = 0; k < 5; k++ ) {
gap = a[k];
for ( i = gap; i < n; i++ ) {
temp = array[i];
for (j = i-gap; temp < array[j] && j >= 0; j -= gap)
array[j + gap] = array[j];
array[j + gap] = temp;
}
}
}
void main(){
int i, size;
int *array;
cout << "Shell Sort.\nEnter array dimension: ";
cin >> size;
array = new int[size];
cout << "Enter " << size << " elements: ";
for ( i = 0; i < size; i ++ ){
cin >> array[i];
}
shellSort( array, size );
cout << "Your array after sorting: ";
for ( i = 0; i < size; i ++ ){
cout << array[i] << " ";
}
cout << "\nPress \"Enter\" to continue..." << endl;
getchar();
}