插入排序递归版

来源:互联网 发布:广州火舞软件 编辑:程序博客网 时间:2024/05/01 13:25
//递归式的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]);}elsereturn;}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 ;  }}   


0 0
原创粉丝点击