最近Java面试遇到的快排
2017-03-29 13:29
274 查看
不知道为什么面试的时候面试官总是问我会不会快排。。。还有问我会不会冒泡的。。我!@¥#!#@%¥#@……@
写个快排冷静一下吧:
第一个排序时冒泡排序,第二个是快速排序,再问我快排就从博客里面甩到面试官脸上!
写个快排冷静一下吧:
package BubbleSort; import static jdk.nashorn.internal.objects.Global.print; /** * 冒泡排序 * Created by Administrator on 2017/3/23 0023. */ public class BubbleSort { public static void main(final String[] a) { int arr[ ] = {5, 3, 2, 6, 9, 1, 13, 19}; int start = 0; int end = arr.length - 1; hsort(arr, start, end); for (int i = 0; i < arr.length; i++) System.out.print(arr[i] + " "); } public static void sort(final int[] arr) { int temp = 0; for (int i = arr.length - 1; i > 0; i--) { for (int j= 0; j < i; j++) { if (arr[j + 1] < arr[j]) { temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } } for (int i = 0;i<arr.length;i++) System.out.print(arr[i]+" "); } public static void hsort(int[] arr, int left, int right) { int i = left; int j = right; int key = arr[left]; while (i < j) { while (i < j && key <= arr[j]) j--; if (i < j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; i++; } while (i < j && key >= arr[i]) i++; if (i < j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; j--; } } if (i > left) hsort(arr, left, i - 1); if (j < right) hsort(arr, i + 1, right); } }
第一个排序时冒泡排序,第二个是快速排序,再问我快排就从博客里面甩到面试官脸上!
相关文章推荐
- 最近面试java遇到的高频问题总结
- 【最近面试遇到的一些问题】java中list、set和map 的区别
- 【最近面试遇到的一些问题】Java中取小数点后两位(四种方法)
- 【Java面试最近遇到的问题总结】
- 最近面试java遇到过的题目
- 【最近面试遇到的一些问题】JAVA UTF-8 GB2312 编码互转
- 【最近面试遇到的一些问题】线程安全-单例模式[转]
- 最近面试遇到的题目!这像面试一年有经验的人吗?
- Java基础面试遇到问题(一)
- Java面试中遇到的一些经典算法题目
- 【最近面试遇到的一些问题】数据库连接池的优点和原理,常用的java开源连接池组件
- JAVA中的多线程问题(高级面试中经常遇到)
- 分享Java面试中遇到的一些经典算法题目
- 最近遇到的一些笔试面试题目(持续更新中。。)
- 最近看到有关java程序员面试题目的文章
- 【最近面试遇到的一些问题】多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么
- 【最近面试遇到的一些问题】forward 和redirect的区别
- 最近在学Java,想想后面会遇到很多问题,写个博客分享一下
- 分享Java面试中遇到的一些经典算法题目
- 最近面试中遇到的海量数据库设计问题