冒泡排序浅解(2)

这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名“冒泡排序”。

时间复杂度

·        冒泡排序最好的时间复杂度为O(n)

·        冒泡排序的最坏时间复杂度为O(n^2)

·        因此冒泡排序总的平均时间复杂度为O(n^2)

c++实现如下

#include<iostream>
#include<string>
using namespace std;
int main(){
	int a[10];
	int n,temp;
	cin>>n;//对n个数进行排序
	for(int k=0;k<n;k++){
		cin>>a[k];
	}
	
//核心代码
	for(int i=0;i<n-1;i++){
            //因为外层遍历是取值跟里层里取出的后一个元素对比,因此取值比元素数少一个
		for(int j=i+1;j<n;j++){
			if(a[j]>a[i]){ //如果符合条件就交换,用><取决于你要排的方式
				temp=a[j];
				a[j]=a[i];
				a[i]=temp;
			}
		}
	}

	for(int m=0;m<n;m++){
		cout<<a[m];//打印
	}
	cout<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/zhen921/article/details/80212867