排序算法之冒泡排序(Bubble Sort)
Posted CodeBeauty
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法之冒泡排序(Bubble Sort)相关的知识,希望对你有一定的参考价值。
基本思想
假如按照从小到大的顺序排序,对待排序数组进行遍历,如果当前值大于其后一个值则进行交换,不断的进行遍历,直到没有交换动作的发生。冒泡排序的最好时间复杂度为O(n),最坏的时间复杂度为O(n2),所以冒泡排序的平均时间复杂度为O(n2),另外冒泡排序不会改变相同元素的前后顺序,故其是一种稳定的排序算法。
实现代码
#include<iostream> using namespace std; int main() { int MyData[10] = { 7,3,12,46,32,64,13,24,21,5 }; int Temp_Data = 0,Count = 1;//记录是否未发生交换,若一趟冒泡无交换发生则退出 while (Count) { Count = 1; for (int i = 0; i < 10 - 1; i++) { if (MyData[i] > MyData[i + 1]) { Count++; Temp_Data = MyData[i + 1]; MyData[i + 1] = MyData[i]; MyData[i] = Temp_Data; } } if (Count == 1) { Count = 0; } } for (int i = 0; i < 10; i++) { cout << MyData[i] << " "; } cout << endl; system("pause"); return 0; }
以上是关于排序算法之冒泡排序(Bubble Sort)的主要内容,如果未能解决你的问题,请参考以下文章