您的位置:首页 > 编程语言 > Java开发

java几种排序简单实现(快速排序,冒泡排序,直接插入排序)

2018-04-08 13:02 639 查看
package Test;

import com.alibaba.fastjson.JSONObject;

public class Test {

static int[] arrays = new int[] { 3, 10, 11, 1, 8, 2, 9, 4 }; // index = 0-7 , length = 8
public static void main(String[] args) {
kuaisupaixu(arrays, 0, arrays.length - 1);
System.err.println(JSONObject.toJSON(arrays));
}

static void maopaopaixu(int[] arrays) {
int length = arrays.length;
for (int i = 1; i < length; i++) {
for (int j = 0; j < length - i; j++) {
if (arrays[j] > arrays[j + 1]) {
int temp;
temp = arrays[j];
arrays[j] = arrays[j + 1];
arrays[j + 1] = temp;
}
}
}
}

static void kuaisupaixu(int[] arrays, int left, int right) {
if (left >= right) {
return;
}
int i = left;
int j = right;
int key = arrays[left];
while (i < j) {
while (i < j && key <= arrays[j]) {
j--;
}
arrays[i] = arrays[j];
while (i < j && key >= arrays[i]) {
i++;
}
arrays[j] = arrays[i];
}
if(i==j){
arrays[i] = key;
}
kuaisupaixu(arrays, left, i - 1);
kuaisupaixu(arrays, i + 1, right);

}

static void zhijiecharupaixu(int[] arrays) {
int length = arrays.length;
for (int i = 1; i < length; i++) {
int v = arrays[i];
int j = i - 1;
for (; j >= 0; j--) {
if (arrays[j] > v) {
arrays[j + 1] = arrays[j];
} else {
break;
}
}
arrays[j + 1] = v;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 几种排序
相关文章推荐