C++冒泡排序模板
来源:互联网 发布:部落冲突药水升级数据 编辑:程序博客网 时间:2024/05/02 00:32
template<typename T>void print(T *array,const int size){if(NULL==array)throw; if(0>=size)return; int i=0;for(;i<size;++i)cout<<array[i]<<" ";cout<<endl;}template<typename T>void bubble_sort(T *array,const int size){if(NULL==array)throw; if(0>=size)return; int i=0;int j=0;T temp;for(;i<size-1;++i){for(j=0;j<size-i-1;++j){if(array[j]>array[j+1]){ //array[j]=array[j]+array[j+1]-(array[j+1]=array[j]);temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}}}int main(int argc, const char * argv[]){ int a[]={4,1,2,5,3};const int size_a=sizeof(a)/sizeof(a[0]); double b[]={1.11111,3.33333,2.22222};const int size_b=sizeof(b)/sizeof(b[0]); char c[]="CDmnopEFGhijABklq";const int size_c=strlen(c); string d[]={"bbb","aaa","ccc","ddd"};const int size_d=sizeof(d)/sizeof(d[0]); cout<<"原始数据"<<endl;print(a,size_a);print(b,size_b);print(c,size_c);print(d,size_d); bubble_sort(a,size_a);bubble_sort(b,size_b);bubble_sort(c,size_c);bubble_sort(d,size_d); cout<<endl<<"经通用冒泡排序函数排序后"<<endl;print(a,size_a);print(b,size_b);print(c,size_c);print(d,size_d); return 0;}/*--------------------- 原始数据 4 1 2 5 3 1.11111 3.33333 2.22222 C D m n o p E F G h i j A B k l q bbb aaa ccc ddd 经通用冒泡排序函数排序后 1 2 3 4 5 1.11111 2.22222 3.33333 A B C D E F G h i j k l m n o p q aaa bbb ccc ddd Press any key to continue ------------------------*/