冒泡排序的简单实现
来源:互联网 发布:node.js有没有用 编辑:程序博客网 时间:2024/06/03 17:31
冒泡的意思就是一次循环中依次比较相邻位置的数,满足则交换。
第一个for代表次数,第二个for来真正的两两比较。
冒泡的关键在于循环条件的次数确定,先看第一个for循环是length-1,
比如5个数 5 3 1 2 0,那么看第一次比较后变成3 1 2 0 5 第二次变成
1 20 3 5 第三次变成 1 0 2 3 5 第四次变成 0 1 2 3 5 最后一次不需要比较了,肯定最小
所以是length-1次了
然后看第二个循环就是用来俩俩比较的 比如5个数 5 3 1 2 0,有这样的比较(先认为最多需要比较多少次,
忽略中间遇到的不需要比较的),那么俩俩比较最多需要4次((5,3) (3,1) (1,2) (2,0)先忽略交换哈),第二次循环变成4个数俩俩比较 需要3次,也就是说一个数冒泡上去了,那么我们就不需要理她了,只关心剩下的数的比较即length-1-i。当然写length-1也可以,但是就多了很多没用的循环。
#include <stdio.h>//=====================void swap(int &i, int &j) {//交换俩数int temp = i;i = j;j = temp ;return ;}//======================================void BubbleSort(int *a, int len ) {int i, j;for(i = 0; i < len - 1; i++) {for(j = 0; j < len -i -1 ; j++) {if(a[j] > a[j+1])swap(a[j], a[j+1]);}//for}//for}//BubbleSort//=======================================int main() {int array[] = {6,8,3,9,5,0,1,4,2,7};//int array1[] = {6,8,3,9,5}; BubbleSort(array,10);for(int i = 0; i < 10; i++) {printf("%d ",array[i]);}return 0;}
0 0
- 冒泡排序的简单实现
- 冒泡排序的简单实现
- 冒泡排序的简单实现
- 简单的冒泡排序实现
- 冒泡排序法的简单实现
- Go语句实现简单的冒泡排序
- C语言实现简单的冒泡排序
- python实现冒泡排序的简单示例
- 汇编语言实现简单的冒泡排序
- 排序-冒泡排序简单实现
- 冒泡排序、插入排序、快速排序的简单实现
- 简单的冒泡排序
- 简单的冒泡排序
- 简单的冒泡排序
- 简单的冒泡排序
- 简单的冒泡排序
- 简单的冒泡排序
- 简单的冒泡排序
- 为什么要使用SLF4J而不是Log4J
- 【数据】EAGLE算法数据
- 程序员如何提高工作效率
- Python 魔术方法指南
- 彻底理解position与anchorPoint
- 冒泡排序的简单实现
- java 判断字符串什么编码类型
- ZOJ 3329 One Person Game (概率dp 难)
- jstl - 控制输出的字数
- LeetCode | Reverse Words in a String
- 将展开Android状态栏的背景设置为透明模糊效果
- OC To Swift And Swift To OC
- 给定一个排好序的数组,从里面查找一个给定值出现的次数
- 保存用户账号信息;UUID、UDID、KeyChain、Devicetoken