您的位置:首页 > 其它

recursion-insert-sort( 插入排序的递归实现 )

2010-08-16 21:15 441 查看
#ifndef _RECURSIONINSERT_H_
#define _RECURSIONINSERT_H_
template< class T >
void recursioninsert( T * lpFinal, int index )
{
T r = lpFinal[ index ];
int i = index - 1;
while( ( i >= 0 ) && ( r < lpFinal[ i ] ) )
{
lpFinal[ i + 1 ] = lpFinal[ i ];
--i;
}
lpFinal[ i + 1 ] = r;

}
#endif


#ifndef _RECURSIONINSERTSORT_H_
#define _RECURSIONINSERTSORT_H_
#include"recursioninsert.h"
template< class T >
void recursioninsertsort( T * lpFinal, int index )
{
if( index > 1 )
{
recursioninsertsort( lpFinal, index - 1 );
}
recursioninsert( lpFinal, index );
}
#endif


#include<iostream>
using namespace std;
#include<conio.h>
#include"mergesort.h"
#include"recursioninsertsort.h"
int main()
{
int a[ 8 ] ={ 2, 89, 56, 45, 77, 4, 6, 5 };
for( int i = 0; i < 8; ++i )
{
cout<<a[ i ]<<" ";
}
cout<<endl;
recursioninsertsort( a, 7 );
for( int i = 0; i < 8; ++i )
{
cout<<a[ i ]<<" ";
}
getch();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: