binsertsort.cpp

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

CPP
46
字号
#include<stdio.h>
#define MAX 50
void binsertsort(int r[],int len)
{
	int i,j,low,high,m,k;
	for(i=2;i<=len;++i)
	{
		printf("\nsorted: ");
		r[0]=r[i];
		low=1;
		high=i-1;
		while(low<=high)
		{
			m=(low+high)/2;
			if(r[0]<=r[m])
				high=m-1;
			else
				low=m+1;
		}
		for(j=i-1;j>=high+1;--j)r[j+1]=r[j];
		r[high+1]=r[0];
		for(k=1;k<=len;++k)
		{
			printf("%d",r[k]);
		}
		}
	}


void main()
{
	int r[MAX];
	int leng,n;
	printf("请输入要排序的数列长度:\n");
	scanf("%d",&leng);
	const int len=leng;
	printf("请输入要排序的数列:\n");
	for(n=1;n<=len;++n)
	{
		scanf("%d",&r[n]);
	}
	binsertsort(r,leng);
	
}

⌨️ 快捷键说明

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