直接插入排序

#include<iostream.h>
void main()
{
	int a[]={9,8,7,6,5,4,3,2,1,0};
	int *b;
	b=new int[sizeof(a)/sizeof(int)];
	for(int i=0;i<sizeof(a)/sizeof(int);i++)
	{
		if(i==0)
		{
			b[i]=a[i];
		}
		else
		{
			if(a[i]>b[i-1])
			{
				b[i+1]=a[i];
			}
			else
			{
				int n=0;
				while(1)
				{
					if(b[n]<a[i])
					{
						n++;
					}
					else
					{
						for(int j=i;j>n;j--)
						{
							b[j]=b[j-1];
						}
						b[n]=a[i];break;
					}
				}
			}
		}
	}
	for(i=0;i<sizeof(a)/sizeof(int);i++)
	{
		cout<<b[i]<<"  ";
	}
}

原文地址:https://www.cnblogs.com/zztong/p/6695302.html