用重载函数实现一组数的升序排列

#include<iostream>
#include<iomanip>
using namespace std;
const int size=10;
void sort(int arr[]);
void sort(float arr[]);
void sort(char arr[]);
void sort(double arr[]);
int main()
{
 int nums1[size]={3,9,1,-5,0,1,-3,4,6,7};
 float nums2[size]={9.1,-0.7,4.6,0.3,9.9,1.1,3.2,-1.2,6.7,-4.9};
 char nums3[size]={'a','N','r','R','S','b','G','g','J','k'};
 double nums4[size]={2.88,4.55,-6.24,4.89,10.28,-6.78,5.55,-4.29,6.79,9.22};
 sort(nums1);
 sort(nums2);
 sort(nums3);
 sort(nums4);
 cout<<"Sort arrays:"<<endl;
 for(int j=0;j<size;j++)
  cout<<setw(5)<<nums1[j]<<setw(8)<<nums2[j]<<setw(5)<<nums3[j]<<setw(8)<<nums4[j]<<endl;
 return 0;
}
void sort(int arr[])
{
 int temp;
 for(int j=1;j<size;j++)
  for(int k=0;k<size-1;k++)
   if(arr[k]>arr[k+1])
   {
    temp=arr[k];
    arr[k]=arr[k+1];
    arr[k+1]=temp;
   }
}
void sort(float arr[])
{
 float temp;
 for(int j=1;j<size;j++)
  for(int k=0;k<size-1;k++)
   if(arr[k]>arr[k+1])
   {
    temp=arr[k];
    arr[k]=arr[k+1];
    arr[k+1]=temp;
   }
}
void sort(char arr[])
{
 char temp;
 for(int j=1;j<size;j++)
  for(int k=0;k<size-1;k++)
   if(arr[k]>arr[k+1])
   {
    temp=arr[k];
    arr[k]=arr[k+1];
    arr[k+1]=temp;
   }
}
void sort(double arr[])
{
 double temp;
 for(int j=1;j<size;j++)
  for(int k=0;k<size-1;k++)
   if(arr[k]>arr[k+1])
   {
    temp=arr[k];
    arr[k]=arr[k+1];
    arr[k+1]=temp;
   }
}
并非都原创
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页