1. 程式人生 > >用函式模板寫氣泡排序法

用函式模板寫氣泡排序法

bubble_sort.cpp 

記住這個寫法,氣泡排序背下來

#include <iostream>
using namespace std;


//輸入
//函式模板
template <typename T>           //函式模板引數列表
void get(T *array, int Len)     //模板函式引數列表
{
	for(int i = 0; i < Len; i++)
	{
		cin >> array[i];    //輸入陣列
	}
}

//排序
template <typename T>
void sort(T *array, int Len)
{
	T tmp;
	for(int i = 1; i <= Len-1; i++)
	{
		for(int j = 0; j <= Len-i-1; j++)
		{
			if(array[j] > array[j+1])
			{
				tmp = array[j];
				array[j] = array[j+1];
				array[j+1] = tmp;
			}
		}
	}
}

//列印
template <typename T>
void print(T *array, int Len)
{
	for(int i = 0; i < Len; i++)
	{
		cout << array[i] << " ";
	}
	cout << endl;
}

//主函式
int main()
{
    int len = 10;
	int array[20] = {0};
	//double array[20] = {0};
	
	char a[20]="jquaisahsqwuqidshd";
	sort<char>(a, sizeof(a)/sizeof(a[0]));
	print<char>(a,sizeof(a)/sizeof(a[0]));
	
	
	get<int>(array,len);
	sort<int>(array,len);
	print<int>(array,len);
    
    return 0;
}