您的位置:首页 > 职场人生

最近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);

}
}


第一个排序时冒泡排序,第二个是快速排序,再问我快排就从博客里面甩到面试官脸上!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: