Java中运用数组的四种排序方法_JAVA中运用数组的四种排序方法
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
快速排序
public class TestMain {
public static void main(String[] args) {
Integer[] list={34,3,53,2,23,7,14,10};
QuicSort qs=new QuicSort();
qs.quick(list);
for(int i=0;i
System.out.print(list[i]+" ");
}
System.out.println();
}
}
class QuicSort{
public int getMiddle(Integer[] list, int low, int high) {
int tmp = list[low]; //數組的第一個作為中軸
while (low < high) {
while (low < high && list[high] > tmp) {
high--;
}
list[low] = list[high]; //比中軸小的記錄移到低端
while (low < high && list[low] < tmp) {
low++;
}
list[high] = list[low]; //比中軸大的記錄移到高端
}
list[low] = tmp; //中軸記錄到尾
return low; //返回中軸的位置
}
public void _quickSort(Integer[] list, int low, int high) {
if (low < high) {
int middle = getMiddle(list, low, high); //將list數組進行一分為二
_quickSort(list, low, middle - 1); //對低字表進行遞歸排序
_quickSort(list, middle + 1, high); //對高字表進行遞歸排序
}
}
public void quick(Integer[] str) {
if (str.length > 0) { //查看數組是否為空
_quickSort(str, 0, str.length - 1);
}
}
}
總結
以上是生活随笔為你收集整理的Java中运用数组的四种排序方法_JAVA中运用数组的四种排序方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 串口服务器信号连接不上,使用RS485串
- 下一篇: linux c多进程多线程,linux下