冒泡排序
来源:互联网 发布:拓扑图坐标算法 编辑:程序博客网 时间:2024/05/20 18:52
思想: 通过不断比较相邻元素大小,进行交换来实现排序。
第一趟排序:
首先将第一个元素与第二个元素比较大小,若为逆序,则交换;
然后比较第二个元素与第三个元素的大小,若为逆序,则交换;
直至比较第n-1个元素与第n个元素的大小,若为逆序,则交换;
结果:
关键字最大的记录被交换至最后一个元素位置上。
•优点:
每趟结束时,不仅能挤出一个最大值到最后面位置(或者最小值到最前面位置)冒泡排序算法的时间复杂度为O(n2)。由于其中的元素移动较多,所以属于内排序中速度较慢的一种。
冒泡排序算法只进行元素间的顺序移动,所以是一个稳定的算法。
void BubbleSort(int Array[],int n){//bool noswap;for (int i=0;i<n-1;i++){//noswap=true;for(int j=n-1;j>i;j--)if (Array[j]<Array[j-1]){int temp=Array[j];Array[j]=Array[j-1];Array[j-1]=temp;//noswap=false;}//if (noswap)//return;}}