數的插入排序

iamzxf發表於2013-12-17

    隨機產生十個10到100之間的整數,編寫函式用直接插入排序法對這組數按從小到大的順序排序。要求:設計三個函式輸入函式、輸出函式和排序函式。

#include <stdio.h>
#include <time.h>
#include <stdlib.h>


int produce(int array[], int n);
int output(int array[], int n);
int insertSort(int array[], int n);

int main()
{
		
	int array[10];
	produce(array, 10);
	output(array,10);
	insertSort(array,10);
	output(array,10);	

	return 0;
}

int produce(int array[], int n)
{
	int i;
	srand(time(0));
	for(i=0;i<n;i++)
		array[i]=rand()%91+10;

	return 0;
}

int output(int array[], int n)
{	
	int i;
	for(i=0;i<n;i++)
		printf("%4d", array[i]);
	printf("\n");
	return 0;
}

int insertSort(int array[], int n)
{
	int i,j;
	int temp;

	for(i=1;i<n;i++)
	{
		if(array[i]<array[i-1])
		{
			j=i-1;
			temp=array[i];
			while(array[j]>temp && j>=0)
			{
				array[j+1]=array[j];
				j--;
			}
			array[j+1]=temp;
		}
	}
	return 0;
}


相關文章