面试系列-冒泡排序
来源:互联网 发布:火狐javascript设置 编辑:程序博客网 时间:2024/06/04 19:10
冒泡排序
定义
笔试中有时会碰到手写冒泡排序的题目,并没有多难只是工作中不常用一时写不出来.现在来理清一下思路.
这是百度百科对冒泡排序的定义,让我们从定义开始吧!
这段话最核心的内容是:循环走访,两两比较.可以理解成三个动作:
1. 循环遍历,每次循环找出最大的数放到数列顶端.
2. 找出被比较的两个对象.
3. 根据比较结果,判断是否需要交换.
代码
public class BubbleSort { public static void main(String[] args) { //定义数组 int[] s = {2,1,5,3,6,9,4}; //调用冒泡排序方法 sort(s); for (int bubble : s) { System.out.print(bubble + " "); } } private static void sort(int[] s) { for(int i = 1;i < s.length;i++) {//1.循环走访 for(int j = 0;j < s.length - i;j++) {//2.两两比较 if(s[j] > s[j + 1]) { exChange(s, j);//3.冒泡 } } } } private static void exChange(int[] s, int j) { int temp; temp = s[j]; s[j] = s[j + 1]; s[j + 1] = temp; }}
最后输出排序结果:
1 2 3 4 5 6 9
- 第一次层for循环是走访的次数,一个长度为n的数组循环n-1才能将所有数字排序;
- 第二层for循环是表示每次走访,要进行多少次两两比较;
- 根据排序方式交换被比较的两个数.
阅读全文
0 0
- 面试系列-冒泡排序
- 程序员面试系列——冒泡排序
- 排序系列--冒泡排序
- 排序系列--冒泡排序
- JAVA面试--冒泡排序
- 面试总结:冒泡排序
- 面试之冒泡排序
- 面试冒泡排序
- python面试--冒泡排序
- 面试 冒泡排序
- 笔试面试系列---排序算法专辑---冒泡排序---错误答案纠正
- 【面试算法系列】冒泡排序与快速排序 - C语言实现
- 排序系列之冒泡排序
- 排序系列之一冒泡排序
- 面试准备---排序算法--冒泡排序
- 【算法系列】—冒泡排序
- 排序算法系列:冒泡排序与双向冒泡排序
- 排序算法系列一(冒泡排序)
- Android中 跳转到系统设置界面
- Dubbo架构设计详解
- jQuery特殊属性之val方法
- usaco Friday the Thirteenth
- Plugin with id 'com.android.application' not found. 解决
- 面试系列-冒泡排序
- jvm 系统调优,确定高CPU程序代码
- Android4.4修改状态栏颜色
- java读取excel指定的位置
- vsftpd不能显示文件目录的解决方法
- Jenkins远程部署 gitLab配置
- springboot
- BaseActivity封装
- SSH综合项目实战(快递) -- day11 shiro权限控制、后台用户登录