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

void binaryInsertionSort(int array[], int col){                    
	int i, j, m, L, R;
	int item;
	for ( i = 1; i < col; i ++ ){
		 item = array[i];
		 L = 0;
		 R = i;
		 while ( L < R ){
			m = (L+R)/2;
			   if ( array[m] <= item ){
					L = m + 1;
			   } 
			   else {
					R = m;
			   }
		 }
		 for ( j = i; j >= R+1; j -- ){
			 array[j] = array[j-1];
		 }
		 array[R] = item;
	}
}

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

	binaryInsertionSort( array, size );

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