利用c++模板实现插入排序

来源:互联网 发布:氧气内衣 知乎 编辑:程序博客网 时间:2024/05/16 08:38
/* ArrayInsertSort.hpp */#ifndef _ARRAYINSERTSORT_HPP_#define _ARRAYINSERTSORT_HPP_template<typename T>bool InsertSort(T *pInput, int nLen){int i = 0;int j = 0;T tTemp;if(!pInput){return false;}for(i=1; i<nLen; i++)   {tTemp = pInput[i];for(j=i-1; (j>=0)&&(pInput[j]>tTemp); j--){pInput[j+1] = pInput[j];}pInput[j+1] = tTemp;}return true;}#endif

/* InsertSort.cpp */#include "ArrayInsertSort.hpp"#include <iostream>using namespace std;int main(){int i = 0;int a[10] = {1,4,7,2,5,8,3,6,9,0};double b[10] = {1.1,4.4,7.7,2.2,5,8.8,3,6,9.9,0};if(InsertSort<int>(a,10) == false){cout<<"排序失败"<<endl;}for(i=0; i<10; i++){cout<<a[i]<<'\t';}cout<<endl;if(InsertSort<double>(b,10) == false){cout<<"排序失败"<<endl;}for(i=0; i<10; i++){cout<<b[i]<<'\t';}cout<<endl;return 0;}

0 0
原创粉丝点击