int main(void)
{
    ElemType* const array = (ElemType*)malloc(sizeof(ElemType)*ARRAY_NUMBER );
    InitalArray(array);
    PrintArray(array);
    BinaryInsertionSort(array,ARRAY_NUMBER );
    printf("排序结果为:");
    PrintArray(array);
    return 0;
}
void main()
{
	int a[100];
	int n;
	RandomArray(a,n);
	PrintArray(a,n);
	//SimpleSort(a,n);
	BinaryInsertionSort(a,n);
	PrintArray(a,n);
	getch();
}
int main(void)
{
	datatype data[N];
	datatype temp[N];
	int i;

	srand((unsigned int)time(NULL));

	for(i = 0; i < N; i++) {
		data[i] = rand() % (NUM_LIMITS + 1);
	}
	Print(data, N);
	Copy(data, temp, N);

	printf("InsertionSort: \n");
	InsertionSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("BinaryInsertionSort:\n");
	BinaryInsertionSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("ShellSort:\n");
	ShellSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("SelectionSort:\n");
	SelectionSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("BubbleSort:\n");
	BubbleSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("QuickSort:\n");
	QuickSort(data, 0, N-1);
	Print(data, N);

	Copy(temp, data, N);
	printf("MergeSort:\n");
	MergeSort(data, 0, N-1);
	Print(data, N);

	Copy(temp, data, N);
	printf("HeapSort:\n");
	HeapSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("PigeonholeSort:\n");
	PigeonholeSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("BucketSort:\n");
	BucketSort(data, N, NUM_LIMITS);
	Print(data, N);

	Copy(temp, data, N);
	printf("CocktailSort:\n");
	CocktailSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("GnomeSort:\n");
	GnomeSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("OddEvenSort:\n");
	OddEvenSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("PatienceSort:\n");
	PatienceSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("BeadSort:\n");
	BeadSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("CombSort:\n");
	CombSort(data, N);
	Print(data, N);

	Copy(temp, data, N);
	printf("BogoSort(Do you believe fortune?):\n");
//	BogoSort(data, N);
//	Print(data, N);	

	return 0;
}