快速排序JAVA

该文章展示了如何使用Java编程实现快速排序算法,包括主函数中获取用户输入数组,以及定义一个QkSORT类来执行排序和输出排序后数组的逻辑。快速排序方法通过两层循环实现,将较小的元素逐步移动到前面,从而达到排序的目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package arithmetictest;

import java.util.Scanner;

/**
 * @version 1.0
 * @Author 爱学习的小笨蛋
 * @Date 2023/2/8 19:51
 * @注释
 */
public class QuickSort {

    public static void main(String[] args) {
        int[] array = new int[10];


        System.out.println("请您输入任意的10个整数:");
        Scanner scan = new Scanner(System.in);
        for (int i = 0; i < array.length; i++) {
           array[i] =  scan.nextInt();
        }


        QkSORT qkSORT = new QkSORT();
        qkSORT.quicksort(array);

        qkSORT.outPut(array);
    }
}



class QkSORT {

	//元素交换的中间值
    int temp = 0;

	/**
	*快速排序的核心思想: 3 1 4 2,
	*	首先我们看这里有四个数,那么就是3要跟后面所有的数比较
	*	1也要跟后面的数进行比较,4也跟后面的数比较,那么现在就是要比较三轮
	*	那么最外面那一层循环就循环三次,那么就是数组的长度 - 1.那么里面那
	*	一层循环的条件就是,它的起始下标应该是i + 1,为什么呢,因为我们要
	*	两个数进行比较嘛,外面那一层循环i是一个元素的下标那么我们里面这一
	*	层循环不就是它旁边的那一个元素了嘛。然后内循环的终止条件是内循环要	
	*	到达最后一个元素2,那么下标直接就是小于数组的长度。每一次排序结果
	*	都是将最小的		
	*	元素放在前面
	*	第一轮排序结果:1 3 4 2
	*	第二轮排序结果:1 2 4 3
	*	第三轮排序结果:1 2 3 4				  
	*/

    //快速排序的方法
    public void quicksort(int array[]) {
        for(int i = 0;i < array.length - 1;i++)
            for(int j = i + 1;j < array.length;j++) {
                if(array[i] > array[j]) {
                    temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
    }


    //输出数组的方法
    public void outPut(int[] array) {
        for(int i = 0;i < array.length;i++) {
            System.out.print(array[i] + " ");
        }
        System.out.println("\n");
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值