插入排序递归版

//递归式的insert_sort
#include<iostream>
#include<string>
using namespace std;
void insert(int Array[],int _size_t,int value)
{
		while(Array[_size_t] > value && _size_t >= 0)
		{
				Array[_size_t+1] = Array[_size_t];
				--_size_t;
		}
			Array[_size_t+1]=value;
}

void insert_sort(int Array[],int _size_t)
{
		if(_size_t > 0)
		{
			insert_sort(Array,_size_t-1);
			insert(Array,_size_t-1,Array[_size_t]);
		}
		else
			return;

}

void print(int Array[],int _size_t)
{
		for(int _t = 0; _t <= _size_t;++_t)
			cout<<Array[_t]<<"  "<<endl;
}
int main()
{
	int Array[10]={123,123,3245,324,45,6456,345,34,345,234};
	print(Array,9);
	insert_sort(Array,9);
	cout<<endl;
	cout<<endl;
	print(Array,9);
	string str;
	cin>>str;
		return 0;
}</span>



这是是插入排序的递归版


下面在写一个一般的插入排序


void  insert_sort(int Array[],int _size_t)
{
  for(int i  =2; i < _size_t;++i)
  {
      int j =i-1;
      int key = Array[j];
     while(Array[j]>Array[i]&&j>0)
       {
           Array[j+1]=Array[j];
          --j;
       }
     Array[j+1] =key ;
  }
}
   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值