八大排序快速排序

八大排序快速排序,第1张

八大排序快速排序

找到第一个数作为基准数,在左右两边定义两个指针,右边的指针去找比当前基准数小的数据,停止;左边的指针去找比当前基准数大的数据,停止;左右两边的数值互换。然后继续,知道两个指针重合,重合之后我们需要基准数和重合的数字互换,基准数就已经排好序了。之后按照重合的位置分成左右两个数组,继续之前的逻辑。(O(n*logn))

找到第一个数为基准数,定义两个指针,(指针i寻找比当前大的数,指针j寻找比当前小的数,找到后位置互换,若指针重合,则将它与第一个互换)

 

 

 

public class QuickSort {
	public static void main(String[] args) {
		int[] arr = new int[] {2,56,8,45,6,25};
		quickSort(arr,0,arr.length-1);
		System.out.println(Arrays.toString(arr));
	}
	
	public static void quickSort(int arr[],int left,int right) {
		if(left>=right) {
			return;
		}
		int base = arr[left];
		int i = left;
		int j = right;
		
		while(i!= j) {
			while(arr[j] >=base&&i 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5721884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存