冒泡排序

来源:互联网 发布:htpc 用什么软件 编辑:程序博客网 时间:2024/05/21 22:26

原理

冒泡排序的原理是相邻两个数比较,如果不满足排序规则,就交换这两个数。

这样一个循环下来,就能确定一个(相对最大/最小)数的位置。

一共n个循环下来,就能确定排列的顺序了。

实现

void BubbleSort(int a[],int n){int i,j,t;for(i=0;i<n;i++){for(j=0;j<n-i-1;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}}

说明

i循环控制内循环次数,它是由带排序数列大小决定的。

j循环每完成一次,确定一个数的位置。

n-i-1是因为

1.每次只要比较到倒数第二个数就行了(-1)

2.每次确定一个数的位置,i次循环之后就待确定的数-i

冒泡排序平均时间复杂度为O(n^2)

冒泡排序只在相邻的元素间比较,是一种稳定的排序算法


原创粉丝点击