快速排序方法Java實現與分析

2021-04-01 09:20:17 字數 1826 閱讀 4571

package paul;

/***title: 快速演演算法

*@author

良葛格*@author

paulliu

*/public class quicksort

/*** printarray 用來跟蹤了演算法演算過程

*/public static void printarray(int number)

/*** sort

* 開始時,以左邊第乙個元素為軸

* @param number int

* @param left int

* @param right int

*/public static void sort(int number, int left, int right)

//將左側軸與j交換

number[left]=number[j];

number[j]=s;

sort(number,left,j-1);//軸左邊進行遞迴

sort(number,j+1,right);//軸右邊進行遞迴}}

private static void sortarr(int number, int left, int right,string strnumber)

//將左側軸與j交換

number[left]=number[j];

number[j]=s;

sortarr(number,left,j-1,strnumber);//軸左邊進行遞迴

sortarr(number,j+1,right,strnumber);//軸右邊進行遞迴}}

/*** provesortfirst

* 以中間的元素為軸

* @param number int

* @param left int

* @param right int

*/public static void provesortfirst(int number, int left, int right)

provesortfirst(number, left, i-1);

provesortfirst(number, j+1, right);}}

private static void thirdsort(int number,int left, int right,string strnumber)

}/**

** @param number int

* @param left int

* @param right int

* @return int

*/private static int partition(int number,int left, int right,string strnumber)

}swapstr(number,strnumber,i+1, right);

return i+1;

}/**

* swap

* 交換值方法

* @param number int

* @param i int

* @param j int

*/private static void swap(int number, int i, int j)

/*** swapstr

** @param strnumber string

* @param i int

* @param j int

*/private static void swapstr(int number,string strnumber, int i, int j)

}

php快速排序原理與實現方法分析

function partition n,left,right n left n lo n lo pivot return lo functi程式設計客棧on quicksort n,left,right global n dp 0 if left 快速排序是對氣泡排序的一種改進。它的基本思想是 通...

排序 快速排序(java實現)

快速排序是一種非常高效的排序演算法,它採用了 分而治之 的思想,把大的拆分成小的,小的再拆分為更小的。其原理如下 對於給定一組記錄,通過一趟排序後,將原序列分為兩部分,其中前一部分的所有記錄都比後一部分的所有記錄小,然後再依次對前後兩部分的記錄進行快速排序,遞迴該過程,直到序列中所有的記錄均為有序為...

Java 氣泡排序與快速排序的實現

1 基於交換思想的排序演算法 2 從一端開始,逐個比較相鄰的兩個元素,發現倒序即交換。3 一次遍歷,一定能將其中最大 小 的元素交換到其最終位置上 static void bubble sort intarray system.out.print 第 i 1 次排序的結果 for int c 0 c...