sort_is.c

来自「该文件夹中包含了大部分经典的算法的源程序代码」· C语言 代码 · 共 43 行

C
43
字号
/* file name: sort_is.c */
/* 插入排序 */

#include <stdio.h>
void insertion_sort(int[], int);
void main()
{
	int data[20];
	int size = 0, i;
	printf("\nPlease enter number to sort ( enter 0 when end ):\n");
	printf("Number : ");
	do    /* 要求输入数据直到输入为零 */
	{
		scanf("%d", &data[size]);
	}  while(data[size++] != 0);
	for(i = 0; i < 60; i++) printf("-");
	printf("\n");
	insertion_sort(data, --size);
	for(i = 0; i < 60; i++) printf("-");
	printf("\nSorting: ");
	for(i = 0; i < size; i++)
		printf("%d  ", data[i]);
}
void insertion_sort(int data[], int size)
{
	int base, compare, temp, i;
	for(base = 1; base < size; base++)
	/* 当数据小于第一笔,则插于前方,否则与后面数据比对找出插入位置 */
	{
		temp = data[base];
		compare = base;
		while(compare > 0 && data[compare-1] > temp)
		{
			data[compare] = data[compare-1];
			compare--;
		}
		data[compare] = temp;
		printf("Access : ");
		for(i = 0; i < size; i++)
			printf("%d  ", data[i]);
		printf("\n");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?