基础算法---冒泡排序法
来源:互联网 发布:中科院软件所导师 编辑:程序博客网 时间:2024/06/04 18:08
冒泡排序
先说一下概念:
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
简单的说就是通过循环对相邻的两个数进行排序,比较后满足条件则交换顺序,以此类推。
下面看个例子:
5,2,7,1
素组第一位(5)和第二(2)发现5>2,所以交换位置
2,5,7,1
素组第二位(5)和第三(7)发现5<7,所以不交换位置
2,5,7,1
素组第三位(7)和第四(1)发现7>1,所以交换位置
2,5,1,7
注意:到此为止素组第一趟排序完成找出了最大的数字(7)并且成功的放到了最后一位,发生了三次比较(n-1次)
接下来我们只需要对2,5,1这三个数字进行排序即可
排序顺序为,并且发生了2次排序(n-1次)
2,5,1
2,1,5
注意:通过这次排序我们找到了第二大数字(5)
最后对数组2,1排序
一次即可比较完成
结果为
1,2,5,7
好了,到此我们模拟了冒泡排序,现在知道思路后java实现代码如下
public class Bubble_Sort {static int arr[] = {4,5,3,4,6,0,5,3,4,6,1,-1};public static void bs(){for(int i=arr.length-1;i>0;--i) //此处决定循环趟数{for(int a=0;a<i;a++)<span style="white-space:pre"></span>//此处循环比较相邻两个元素的大小{if(arr[a]>arr[a+1]){int tmp = arr[a];arr[a] = arr[a+1];arr[a+1] = tmp;}}}System.out.println(Arrays.toString(arr));}public static void main(String[] args) {Bubble_Sort.bs();}}排序后的结果是
[-1, 0, 1, 3, 3, 4, 4, 4, 5, 5, 6, 6]
到此为止,冒泡介绍完毕,下一篇我讲介绍一下快速排序。
0 0
- 基础算法---冒泡排序法
- 【算法基础】冒泡排序
- 算法基础-冒泡排序
- 基础算法 冒泡排序
- 基础算法 - 冒泡排序
- 基础算法-冒泡排序
- 算法基础--冒泡排序
- 【算法基础】冒泡排序
- 算法基础只冒泡排序法
- 基础算法之冒泡排序
- 算法基础之冒泡排序
- 算法基础1:冒泡排序
- 算法基础之冒泡排序
- 基础算法之 冒泡排序
- 算法基础之排序篇-冒泡排序
- 基础算法之排序(1)--冒泡排序
- 基础算法--排序: 之冒泡排序
- 【基础算法】选择排序与冒泡排序
- css限制输入长度
- 数据恢复流程
- ExtJS5 - 实现多表头Grid
- 欢迎使用CSDN-markdown编辑器
- LeetCode Maximum Depth of Binary tree
- 基础算法---冒泡排序法
- Android基础之Menu操作详解
- Tomcat中server.xml配置文件简介
- 产品的版本迭代机制是这样的
- java解析获取Excel中的数据--同时兼容2003及2007
- 前端构建工具gulpjs的使用介绍及技巧
- 文章标题
- 【转】java提高篇(五)-----抽象类与接口
- UIImageView的属性