冒泡排序(正序倒序)解读
程序员文章站
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
{
//两两交换
{
}
冒泡倒序
和正序思想一样,只不过每次要找出最小的,只改变交换的代码就可以了。
推荐阅读
-
php foreach正序倒序输出示例代码
-
javascript select列表内容按字母倒序排序与按列表倒序排列
-
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
-
javascript select列表内容按字母倒序排序与按列表倒序排列
-
【转载】 C#中List集合使用OrderByDescending方法对集合进行倒序排序
-
TreeMap中文排序,TreeMap倒序输出排列
-
Java字符串倒序输出 + 数组的排序
-
Java字符串倒序输出 + 数组的排序
-
php foreach正序倒序输出示例代码
-
MapReduce 之流量汇总案例三+将统计结果将统计结果按照总流量正序排序(全排序)