package fenshujs;
import java.util.Arrays;
import java.util.Scanner;
public class bishi {
public static int Partition(int[] a,int left,int right)
{
int temp = (left+right)/2;
int s=a[temp];
swap(a,temp,left);
while(left<right)
{
while(a[right]>=s&&left<right)
{
right--;
}
a[left]=a[right];
while(a[left]<=s&&left<right)
{
left++;
}
a[right]=a[left];
}
a[left]=s;
return left;
}
private static void swap(int[] aa,int a,int b)
{
int temp = aa[a];
aa[a] = aa[b];
aa[b] = temp;
}
private static void QuickSort(int[] a,int left,int right)
{
if(left >= right)
return;
else
{
int position = Partition(a,left,right);
QuickSort(a,left,position-1);
QuickSort(a,position+1,right);
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i = 0;i<n;i++)
a[i] = sc.nextInt();
QuickSort(a,0,n-1);
for(int aa:a)
System.out.print(aa+" ");
}
import java.util.Arrays;
import java.util.Scanner;
public class bishi {
public static int Partition(int[] a,int left,int right)
{
int temp = (left+right)/2;
int s=a[temp];
swap(a,temp,left);
while(left<right)
{
while(a[right]>=s&&left<right)
{
right--;
}
a[left]=a[right];
while(a[left]<=s&&left<right)
{
left++;
}
a[right]=a[left];
}
a[left]=s;
return left;
}
private static void swap(int[] aa,int a,int b)
{
int temp = aa[a];
aa[a] = aa[b];
aa[b] = temp;
}
private static void QuickSort(int[] a,int left,int right)
{
if(left >= right)
return;
else
{
int position = Partition(a,left,right);
QuickSort(a,left,position-1);
QuickSort(a,position+1,right);
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i = 0;i<n;i++)
a[i] = sc.nextInt();
QuickSort(a,0,n-1);
for(int aa:a)
System.out.print(aa+" ");
}
}
输出样例:
6
1 9 2 8 3 7
1 2 3 7 8 9