欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

冒泡排序(正序倒序)解读

程序员文章站 2022-03-01 22:21:45
...

此排序思想是每次找出一个最大的数来
上例子
排序 2 4 3 1
有四个元素,从头开始找出一个最大的出来,我们需要比较三次:12 23 34
此时顺序2 3 1 4
在剩下的3个里找出一个最大的,需要比较两次:12 23
此时顺序2 1 3 4
在剩下的2个里找出一个最大的,需要比较一次:12
完成排序1 2 3 4
无论是几个数,我们可以抽象出一个规律:有n个数,每找出一个最大的出来需要进行未比较元素数量-1次比较,比较n-1轮,且一共需要比较(n-1)*n/2次。
由此我们可以用双重嵌套循环实现此排序思想。

for(i=0;i<n-1;i++)//n代表元素数,比较n-1轮
{
	for(j=0;j<n-1-i;j++)//第一轮比较n-1次依次递减1
	{
	//两两交换
	{
}

冒泡倒序
和正序思想一样,只不过每次要找出最小的,只改变交换的代码就可以了。