insert.c

来自「基于C++的排序各种排序操作,包括快速排序,shell排序,随机排序,选择排序等」· C语言 代码 · 共 46 行

C
46
字号
#include<stdio.h>
void insertion_sort(int n,int);
void main()
{
	int data[20];
	int size=0,i;
	printf("please enter number to sort(enter 0 when end):\n");
	printf("number:");
	do   /*要求输入数据直到输入为0*/
	{
		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 + -
显示快捷键?