Скачиваний:
34
Добавлен:
02.05.2014
Размер:
831 б
Скачать
#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();
}