(8)交换排序之一 起泡排序
起泡排序(Bubble Sort),依次比较相邻的两个记录的关键字,逆序时交换,一趟比较后最大的记录被安置到最后一个记录的位置上。时间复杂度为O(n^2)。
void CExchangeSort::BubbleSort(void)
{
constint count =9, length = count -1;
int L[count] = {0, 49, 38, 65, 97, 76, 13, 27, 49};
bool change =true;
for (int i = count -1; i >0&& change; -- i)
{
change =false;
for (int j =0; j < i; ++ j)
if (L[j] > L[j +1])
{
int temp = L[j];
L[j] = L[j +1];
L[j +1] = temp;
change =true;
}
}
//打印排序结果。
for (int i =0; i <= length; ++ i)
{
cout << L[i] <<"\t";
}
cout << endl;
}
{
constint count =9, length = count -1;
int L[count] = {0, 49, 38, 65, 97, 76, 13, 27, 49};
bool change =true;
for (int i = count -1; i >0&& change; -- i)
{
change =false;
for (int j =0; j < i; ++ j)
if (L[j] > L[j +1])
{
int temp = L[j];
L[j] = L[j +1];
L[j +1] = temp;
change =true;
}
}
//打印排序结果。
for (int i =0; i <= length; ++ i)
{
cout << L[i] <<"\t";
}
cout << endl;
}
分类: C++排序