用同一个函数名对n个数据进行从小到大排序 用函数模板
2015-03-29 12:55
1826 查看
#include <iostream>
using namespace std;
template <class T>
void sort(T* a, int n)
{
int t;
T temp;
for (int i=0; i<n-1; i++)
{
t=i;
for (int j=i+1; j<n; j++)
{
if (*(a+t)>*(a+j))
t=j;
}
temp=*(a+i);
*(a+i)=*(a+t);
*(a+t)=temp;
}
}
static float arr0[6]={2.0,65.0,9.0,78.0,88.0,-2.0};
static double arr1[6]={558.0,999.0,123.0,222.0,55.0,456.0};
static int arr2[6]={123,456,789,654,321,5};
void main()
{
cout<<"float exp."<<endl;
for (int i=0; i<6; i++)
{
cout<<arr0[i]<<" ";
}
cout<<endl;
sort(arr0, 6);
for (i=0; i<6; i++)
{
cout<<arr0[i]<<" ";
}
cout<<endl;
cout<<"double exp."<<endl;
for (i=0; i<6; i++)
{
cout<<arr1[i]<<" ";
}
cout<<endl;
sort(arr1, 6);
for (i=0; i<6; i++)
{
cout<<arr1[i]<<" ";
}
cout<<endl;
cout<<"int exp."<<endl;
for (i=0; i<6; i++)
{
cout<<arr2[i]<<" ";
}
cout<<endl;
sort(arr2, 6);
for (i=0; i<6; i++)
{
cout<<arr2[i]<<" ";
}
cout<<endl;
}
using namespace std;
template <class T>
void sort(T* a, int n)
{
int t;
T temp;
for (int i=0; i<n-1; i++)
{
t=i;
for (int j=i+1; j<n; j++)
{
if (*(a+t)>*(a+j))
t=j;
}
temp=*(a+i);
*(a+i)=*(a+t);
*(a+t)=temp;
}
}
static float arr0[6]={2.0,65.0,9.0,78.0,88.0,-2.0};
static double arr1[6]={558.0,999.0,123.0,222.0,55.0,456.0};
static int arr2[6]={123,456,789,654,321,5};
void main()
{
cout<<"float exp."<<endl;
for (int i=0; i<6; i++)
{
cout<<arr0[i]<<" ";
}
cout<<endl;
sort(arr0, 6);
for (i=0; i<6; i++)
{
cout<<arr0[i]<<" ";
}
cout<<endl;
cout<<"double exp."<<endl;
for (i=0; i<6; i++)
{
cout<<arr1[i]<<" ";
}
cout<<endl;
sort(arr1, 6);
for (i=0; i<6; i++)
{
cout<<arr1[i]<<" ";
}
cout<<endl;
cout<<"int exp."<<endl;
for (i=0; i<6; i++)
{
cout<<arr2[i]<<" ";
}
cout<<endl;
sort(arr2, 6);
for (i=0; i<6; i++)
{
cout<<arr2[i]<<" ";
}
cout<<endl;
}
相关文章推荐
- 编写一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整形,单精度,双精度。用重载函数实现
- 个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出
- 用同一个函数名对n个数据进行从小到大排序
- 对数组进行排序、求最大值和求元素和的算法都编写为函数模板,采用相关数据进行测试。
- 6.对数组进行排序、求最大值和求元素和的函数采用静态成员函数的方式封装成数组算法类模板ArrayAlg,并采用相关数据进行测试。
- 对数组进行排序、求最大值和求元素和的算法都编写为函数模板,采用相关数据进行测试
- 对数组进行排序、求最大值和求元素和的算法都编写为函数模板,采用相关数据进行测试。
- 主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果。
- 对一个栈的元素进行从小到大的排序
- 转:从键盘输入一个字符串,按照字符顺序从小到大进行排序,并要求删除重复的的字符。
- 在SQL2005中利用RANK()函数与ROW_NUMBER()对现有数据进行排序改造
- 主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果
- Ex7_5写一个函数,用"冒泡排序"对输入的10个整数从小到大排序
- java基础—对一个字符串中的数值进行从小到大的排序
- 一个用VB实现的对任意字符串进行排列并排序的函数
- (C语言-结构体)主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果。
- (使用STL自带的排序函数进行编程7.3.14)UVA 10062 Tell me the frequencies!(求一个字符出现的次数(包括字母和数字)&&按出现的次数降序)
- 使用函数指针,完成一个sort()函数,能对任何类型的数组元素进行排序: 回调函数 以及 memcpy ()原型实现
- 16-4:字符串练习,对一个字符串中的数值进行从小到大的排序
- 在SQL2005中利用DENSE_RANK()排名函数对现有数据进行排序改造