插入排序的代码实现(小柏)

插入排序

插入排序 有些类似我们平时玩的扑克,对扑克的排序。

排序部分的代码

void insert_baisort(int n)
{
    
       int j;
		for(int i=2;i<=n;i++)
	{
    
    
		if(a[i]<a[i-1])
		{
    
    
			a[0]=a[i];
			a[i]=a[i-1];
		    
			for( j=i-2;j>0;j--)
			{
    
    
				if(a[j]>a[0])
				{
    
    
					a[j+1]=a[j];//一直挪  
				}
				else  break;
			}
			a[j+1]=a[0];
		}
	}
}

完整实例

#include<bits/stdc++.h>
using namespace std;
int a[1000];  

void insert_baisort(int n)
{
    
       int j;
		for(int i=2;i<=n;i++)
	{
    
    
		if(a[i]<a[i-1])
		{
    
    
			a[0]=a[i];
			a[i]=a[i-1];
		    
			for( j=i-2;j>0;j--)
			{
    
    
				if(a[j]>a[0])
				{
    
    
					a[j+1]=a[j];//一直挪  
				}
				else  break;
			}
			a[j+1]=a[0];
		}
	}
}
void shows(int n)
{
    
    
	for(int i=1;i<=n;i++)
	cout<<a[i]<<" ";
}
int main()
{
    
    
	
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
    
    
		cin>>a[i];
	}
    
     insert_baisort(n);
     shows(n);


    return 0;
}
  

猜你喜欢

转载自blog.csdn.net/weixin_46339668/article/details/110132896