Pagini recente » Cod sursa (job #2459697) | Cod sursa (job #2391757) | Cod sursa (job #2823061) | Cod sursa (job #2958195) | Cod sursa (job #2063817)
import java.util.*;
import java.io.*;
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args)
{
Scan cin;
PrintWriter cout;
try
{
cin = new Scan("algsort.in");
cout = new PrintWriter("algsort.out");
int n = cin.nextInt();
//cout.println(n);
int x;
int arr[] = new int[500001];
for(int i = 0; i < n; ++i)
{
x = cin.nextInt();
arr[i] = x;
}
quickSort(arr, 0, n-1);
for(int i = 0; i < n; ++i)
{
cout.print(arr[i] + " ");
}
cin.close();
cout.close();
}
catch (Exception ex)
{
System.out.println(ex.toString());
}
}
static int partition(int arr[], int left, int right)
{
int i = left, j = right;
int tmp;
int pivot = arr[(left + right) / 2];
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
};
return i;
}
static void quickSort(int arr[], int left, int right) {
int index = partition(arr, left, right);
if (left < index - 1)
quickSort(arr, left, index - 1);
if (index < right)
quickSort(arr, index, right);
}
public static class Scan {
private BufferedReader bufferedReader;
private StringTokenizer stringTokenizer;
Scan(String filename) throws FileNotFoundException
{
bufferedReader = new BufferedReader(new FileReader(filename));
}
private String next() throws IOException
{
while(stringTokenizer == null || !stringTokenizer.hasMoreElements())
{
stringTokenizer = new StringTokenizer(bufferedReader.readLine());
}
return stringTokenizer.nextToken();
}
int nextInt() throws IOException
{
return Integer.parseInt(next());
}
void close() throws IOException
{
bufferedReader.close();
}
}
}