//模板函數實現,關鍵字template
//模板函數實現冒泡排序
#include<iostream>
#include<string>
using namespace std;
template <class>
void BubbleSort(T tData[], int nSize)
{
for (int i = 0; i < nSize - 1; i++)
{
bool bOrdered = true;
for (int j = 0; j < nSize - i - 1; j++)
{
if (tData[j] > tData[j + 1])
{
T temp = tData[j];
tData[j] = tData[j + 1];
tData[j + 1] = temp;
bOrdered = false;
}
}
if (bOrdered)
break;
}
}
int main()
{
//對數字進行冒泡排序
int nData[] = { 13,23,20,12,15,31,19,26,24,37 };
int nSize = sizeof(nData) / sizeof(nData[0]);
BubbleSort(nData, nSize);
for (int i = 0; i < nSize; i++)
{
cout << nData[i];
if (i < nSize - 1)
cout << ", ";//每打印一個數據,打印出一個空格
else
cout << endl;//當長度大於數組長度,回車換行
}
//對字符串進行冒泡排序
string sData[] = { "nanning", "shanghai", "tianjin", "beijing", "guangzhou",
"nanjing", "chongqing", "jinan", "kunming", "lasa" };
nSize = sizeof(sData) / sizeof(sData[0]);
BubbleSort(sData, nSize);
for (int i = 0; i < nSize; i++)
{
cout << sData[i];
//解釋同上
if (i < nSize - 1)
cout << ", \\n";
else
cout << endl;
}
system("pause");
return 0;
}
結果如圖所示:
歡迎大家一起交流,共同進步!
閱讀更多 專業技術交流 的文章