?? sort.java
字號:
package com.briup.common.util;
/**
*
* @author terryren
* @version
*
*/
public class Sort {
/**
* 冒泡
*/
public static void sort(int[] data) {
for (int i = 0; i < data.length - 1; i++) {
for (int j = 0; j < data.length - 1 - i; j++) {
if (data[j] > data[j + 1]) {
int temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
}
/**
* 快排
*/
public static void sort2(int m, int n, int[] data) {
if (m >= n)
return;
int i = m;
int j = n;
int temp = data[m];
while (i < j) {
while (i < j && data[j] >= temp)
j--;
data[i] = data[j];
while (i < j && data[i] <= temp)
i++;
data[j] = data[i];
}
data[i] = temp;
System.out.println("------------------------------------");
//打印的基礎比較點,如第一重循環為數組第一個元素
System.out.println("temp = " + temp + "\n");
//每次排序完打印數據,查看結果
for (int k = 0; k < data.length; k++) {
System.out.println("data[" + k + "] = " + data[k]);
}
sort2(m, i - 1, data);
sort2(i + 1, n, data);
}
public static void main(String[] args) {
int[] data = { 40, 3, 453, 35, 56, 67, 12, 0, 56, 45, 32 };
//冒泡
// sort(data);
//快排
sort2(0, data.length - 1, data);
//實際開發中數組和集合可以利用jdk的Arrays和Collections的sort方法排序
// Arrays.sort(data);
System.out.println("=========================");
for (int k = 0; k < data.length; k++) {
System.out.println("data[" + k + "] = " + data[k]);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -