AcWing 785:快速排序
发布日期:2021-05-07 14:08:13 浏览次数:16 分类:原创文章

本文共 1045 字,大约阅读时间需要 3 分钟。

给定你一个长度为n的整数数列。


请你使用快速排序对这个数列按照从小到大进行排序。


并将排好序的数列按顺序输出。


输入格式


输入共两行,第一行包含整数 n。


第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。


输出格式


输出共一行,包含 n 个整数,表示排好序的数列。


数据范围


1≤n≤1000001≤n≤100000


输入样例:


53 1 2 4 5

输出样例:


1 2 3 4 5

import java.io.*;import java.util.Scanner;class Main{    static void QuickSort(int[] nums, int l, int r){        if(l >= r)return;        int i = l, j = r;        int temp = nums[i];        while(i < j){            while(i < j && nums[j] >= temp)--j;            if(i < j)nums[i] = nums[j];            while(i < j && nums[i] <= temp)++i;            if(i < j)nums[j] = nums[i];        }        nums[i] = temp;        QuickSort(nums, l, i - 1);        QuickSort(nums, i + 1, r);    }        public static void main(String[] args){        Scanner sc = new Scanner(System.in);        int n = sc.nextInt();        int[] nums = new int[n];        for(int i = 0; i < n; ++i){            nums[i] = sc.nextInt();        }        QuickSort(nums, 0, n - 1);        for(int i = 0; i < n; ++i){            System.out.print(nums[i] + " ");        }    }}

 


 

上一篇:AcWing 786: 第k个数
下一篇:LeetCode301:回溯中的枚举

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月10日 19时40分08秒