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; }
相关文章推荐
- 插入排序(Insertsort)之Java实现
- Java排序算法(四)--直接插入排序(InsertSort)
- insertSort - 插入排序
- 用java实现的迭代和递归插入排序
- 插入排序:InsertSort:no more than ten lines
- 直接插入排序(递归与非递归2种实现方法)
- 直接插入排序(Straight Insertion Sort)的C语言实现
- 插入排序 直接插入排序的PHP实现 Straight Insertion Sort
- (直接)插入排序INSERT_SORT
- 用python实现二叉树搜索树/查找树/排序树的验证(判断)(四)(表插入递归)
- PHP实现排序算法----直接插入排序(Straight Insertion Sort)
- 无聊写排序之 ---- 归并排序(MergeSort) 非递归实现
- 插入排序的递归实现
- 插入排序,insertSort
- 笔试算法题(56):快速排序实现之非递归实现,最小k值选择(non-recursive version, Minimal Kth Selection of Quick Sort)
- 插入排序的递归实现(java版)
- 算法不会,尚能饭否之排序——直接插入排序(Insert sort)
- 插入排序之直接插入(InsertSort)
- java插入排序 Insert sort实例
- C#插入排序☞递归实现