/**
*Copyright (c) 2018 Young Fan.All Right Reserved.
*Filename: 3 函数模板案例_对char和int类型数组排序
*Author: Young Fan
*Date: 2018.4.30
*IDE: Visual Studio 2017
*Description: 函数模板案例_对char和int类型数组排序
*/
#include<iostream>
using namespace std;
//对char和int类型数组排序
//打印
//定义模板
template<class T>
void PrintArray(T *arr,int len)
{
for (int i = 0; i < len; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
//-----------------------【冒泡排序】---------------------
//冒泡方式一:
//定义模板
template<class T>
void MySort(T *arr,int len)
{
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len - 1 - i; j++)
{
//从大到小排序
if (arr[j] < arr[j + 1])
{
T temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
//冒泡方式二:
void MySort2(int *arr,int len)
{
for (int i = 0; i < len - 1; i++)
{
for (int j = i + 1; j < len; j++)
{
//从大到小排序
if (arr[i] < arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main()
{
//数组
int arr[] = { 2,6,1,8,9,2 };
//获取数组长度
int len = sizeof(arr)/sizeof(int);
//或者
int len1 = sizeof(arr) / sizeof(arr[0]);
cout << "排序之前:" << endl;
PrintArray(arr,len);
//排序
MySort(arr,len);
cout << "排序之后:" << endl;
PrintArray(arr, len);
char chArr[] = {'a','c','b','p','t'};
len = sizeof(chArr) / sizeof(char);
cout << "---------------------------------" << endl;
cout << "排序之前:" << endl;
PrintArray(chArr, len);
//排序
MySort(chArr, len);
cout << "排序之后:" << endl;
PrintArray(chArr, len);
return 0;
}
函数模板案例之对char和int类型数组排序
猜你喜欢
转载自blog.csdn.net/young__fan/article/details/80982911
今日推荐
周排行