Insertion sort insert_sort

1.

void insert_sort(int arr[], int n)
{
	int i,j ,temp;
	for (i = 1; i < n; i++)
	{
		if (arr[i] < arr[i - 1])
		{
			temp = arr[i];//存放要插入的数
			for (j = i - 1; j>=0&&temp < arr[j]; --j)
				arr[j + 1] = arr[j];//大的数后移
			    arr[j + 1] = temp;

		}
	}
}
void print(int arr[], int n)
{
	int i;
	for (i = 0; i < n; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
}
int main()
{
	int arr[10] = { 0,9,8,4,6,5,2,3,1,7 };
	int n = sizeof(arr)/sizeof(arr[0]);//求数组长度
	insert_sort(arr, n);
	print(arr, n);//打印数组

	return 0;
}

Guess you like

Origin blog.csdn.net/m0_69576880/article/details/127867151