【JAVA演算法】排序演算法 -- 快速排序
import java.util.Scanner;
//快速排序
public class Main {
/**
* @param args
*/
private static int[] a;//定義的帶排序的陣列
//快速排序演算法
public static void quicksort(int s,int e){
if(s>e){
return;
}
int standard = a[s];
int Llimit = s;
int Rlimit = e;
while(Rlimit>Llimit){
for(;Rlimit>Llimit;Rlimit--){
if(a[Rlimit]<standard){
break;
}
}
for(;Rlimit>Llimit;Llimit++){
if(a[Llimit]>standard){
break;
}
}
if(Llimit < Rlimit){
int temp = a[Llimit];
a[Llimit] = a[Rlimit];
a[Rlimit] = temp;
}
}
a[s] = a[Llimit];
a[Llimit] = standard;
quicksort(s,Llimit-1);
quicksort(Rlimit+1,e);
return;
}
//輸出陣列中的所有元素
public static void printArray(){
System.out.print("排序後的陣列是: ");
for (int i : a) {
System.out.print(i+" ");
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
//接下來的兩行一行為陣列總數,第二行為陣列中所包含的元素
int N = scanner.nextInt();
a = new int[N];//申請記憶體分配
for(int i=0;i<N;i++){
a[i] = scanner.nextInt();
}
quicksort(0, N-1);
printArray();
}
}
關於演算法思想,網上有許多很形象的敘述,如https://blog.csdn.net/vayne_xiao/article/details/53508973
這裡我給出自己的JAVA實現,供大家參考。
相關文章
- 排序演算法-Java實現快速排序演算法排序演算法Java
- 排序演算法__快速排序排序演算法
- 排序演算法:快速排序排序演算法
- 排序演算法 - 快速排序排序演算法
- 排序演算法之 '快速排序'排序演算法
- 快速排序演算法排序演算法
- 【演算法】快速排序演算法排序
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- Sorting 排序演算法: Quick Sort 快速排序排序演算法UI
- 畫江湖之演算法篇【排序演算法】快速排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 快速排序演算法排序
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- 演算法之旅:快速排序演算法排序
- 演算法之快速排序演算法排序
- 前端演算法:快速排序演算法前端演算法排序
- 排序演算法之快速排序的實現排序演算法
- 排序演算法-Java排序演算法Java
- Java排序演算法之氣泡排序Java排序演算法
- 看動畫學演算法之:排序-快速排序動畫演算法排序
- 排序演算法之「快速排序(Quick Sort) _c++ 」排序演算法UIC++
- 演算法 | 快速排序詳解演算法排序
- 二十、快速排序演算法——JAVA實現(遞迴)排序演算法Java遞迴
- 排序演算法:Java實現希爾排序排序演算法Java
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- Python進階-演算法-快速排序Python演算法排序
- 演算法圖解之快速排序演算法圖解排序
- 演算法之快速排序(php版)演算法排序PHP
- 快速排序演算法(Quick_Sort)排序演算法UI
- 從演算法開始[快速排序]演算法排序
- 排序演算法__桶排序排序演算法
- 排序演算法__堆排序排序演算法
- 排序演算法 - 堆排序排序演算法
- 排序演算法-堆排序排序演算法
- Java常見排序演算法之插入排序Java排序演算法
- 資料結構和演算法(Golang實現)(25)排序演算法-快速排序資料結構演算法Golang排序
- 排序演算法Java實現排序演算法Java
- 排序演算法 Java實現排序演算法Java
- java選擇排序演算法Java排序演算法