模板
void quick_sort(int q[], int l, int r)
{
if (l >= r) return;
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while (i < j)
{
do i ++ ; while (q[i] < x);
do j -- ; while (q[j] > x);
if (i < j) swap(q[i], q[j]);
}
quick_sort(q, l, j), quick_sort(q, j + 1, r);
}
void quick_sort(int q[], int l, int r)
{
if(l >= r) return;
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while(i < j)
{
do i++; while(q[i] > x);
do j--; while(q[j] < x);
if(i < j) swap(q[i], q[j]);
}
quick_sort(q, l, j), quick_sort(q, j + 1, r);
}
public static void quick_sort(int[] q, int l, int r){
if(l >= r) return;
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while(i < j) {
while( q[++i] < x);
while( q[--j] > x);
if(i < j){
int t = q[i];
q[i] = q[j];
q[j] = t;
}
}
quickSort(q, l, j);
quickSort(q, j + 1, r);
}
public static void quick_sort(int[] q, int l, int r) {
if (l >= r) {
return;
}
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while (i < j) {
while (q[++i] > x);
while (q[++j] < x);
if (i < j) {
int t = q[i];
q[i] = q[j];
q[j] = t;
}
}
quickSort(q, l, j);
quickSort(q, j + 1, r);
}
void quick_sort(int q[], int l, int r)
{
if(l >= r) return;
int i = l - 1, j = r + 1, x = q[l + r + 1 >> 1];
while(i < j)
{
do i++; while(q[i] < x);
do j--; while(q[j] > x);
if(i < j) swap(q[i], q[j]);
}
quick_sort(q, l, i - 1), quick_sort(q, i, r);
}
练习
01

import java.io.*;
public class Main {
public static final int N = 100010;
public static int[] q = new int[N];
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String[] strs = br.readLine().split(" ");
for (int i = 0; i < n; i++) {
q[i] = Integer.parseInt(strs[i]);
}
br.close();
quickSort(q, 0, n - 1);
for (int i = 0; i < n; i++) {
System.out.print(q[i] + " ");
}
}
public static void quickSort(int[] q, int l, int r) {
if (l >= r) {
return;
}
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while (i < j) {
while (q[++i] < x) ;
while (q[--j] > x) ;
if (i < j) {
int t = q[i];
q[i] = q[j];
q[j] = t;
}
}
quickSort(q, l, j);
quickSort(q, j + 1, r);
}
}
02

import java.io.*;
public class Main {
public static final int N = 100010;
public static int[] q = new int[N];
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str1 = br.readLine().split(" ");
int n = Integer.parseInt(str1[0]);
int k = Integer.parseInt(str1[1]);
String[] str2 = br.readLine().split(" ");
for (int i = 0; i < n; i++) {
q[i] = Integer.parseInt(str2[i]);
}
quickSort(q, 0, n - 1);
System.out.println(q[k - 1]);
}
public static void quickSort(int[] q, int l, int r) {
if (l >= r) {
return;
}
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while (i < j) {
while (q[++i] < x) ;
while (q[--j] > x) ;
if (i < j) {
int t = q[i];
q[i] = q[j];
q[j] = t;
}
}
quickSort(q, l, j);
quickSort(q, j + 1, r);
}
}