#include<iostream>
using namespace std;
//通用数组排序,选择排序 大-》小
template<class T>//交换模板
void mySwap(T & a,T & b){
T temp =a;
a=b;
b=temp;
}
template< class T>//排序模板
void mySort(T arr[],int len){
for(int i=0;i<len;i++){
int max=i;
for(int j=i+1;j<len;j++){
if(arr[max]<arr[j]){
max=j;//更新最大值下标
}
}
if(max!=i){
mySwap(arr[max],arr[i]);
}
}
}
//打印数组模板
template<class T>
void printArray(T arr[],int len){
for(int i=0;i<len;i++){
cout<<arr[i]<<" ";
}
cout<<endl;
}
void test(){//字符类型数组
char charArr[]="badcfe";
int num=sizeof(charArr)/sizeof(char);
mySort(charArr,num);
printArray(charArr,num);
}
void test1(){//整形数组
int intArr[]={1,2,3,4,5,6,7,8,9};
int num=sizeof(intArr)/sizeof(int);
mySort(intArr,num);
printArray(intArr,num);
}
int main(){
test();
test1();
return 0;
}
C++ vscode 实现通用数组排序
最新推荐文章于 2023-03-26 15:51:52 发布