/*
*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
學習心得:
可以用冒泡法排序,也可用選擇法排序