第十四周項目一-排序函數模版

 
/*
*Copyright(c)2016,煙臺大學計算機與控制工程學院
*All rights reserved
*文件名稱:123.cpp
*作    者:王蕊
*完成日期:2016年6月1日
*版 本 號:v1.0
*
*問題描述:設計函數模板將數組a中的前size個元素從小到大順序排列
*/ 
#include <iostream>  
using namespace std;  
template<class T>  
void Sort(T *p,int n)  
{  
    int i,j;  
    T t;  
    for(i=1;i<n;i++)  
        for(j=0;j<n-1-i;j++)  
          if(*(p+j)>*(p+j+1))  
         {  
            t=*(p+j);  
            *(p+j)=*(p+j+1);  
            *(p+j+1)=t;  
         }  
}  
int main()  
{  
    int i;  
    int a[]={8,5,2,6,4,7};  
    double b[]={4.2,2.1,5.3,6.1,8.3,9.2};  
    Sort(a,6);  
    Sort(b,6);  
    for(i=0;i<6;i++)  
        cout<<a[i]<<" ";  
    cout<<endl;  
    for(i=0;i<6;i++)  
        cout<<b[i]<<" ";  
    cout<<endl;  
    return 0;  
}

運行結果:

2 4 5 6 7 8

2.1 4.2 5.3 6.1 8.3 9.2

學習心得:

可以用冒泡法排序,也可用選擇法排序


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章