不会写java的宝宝开始用java写大作业啦!
并行计算的大作业,写多线程之前,得先把quick sort的串行写了再说。
Step1
elipse->new->java project
Step2
src->new->class
填上class name,如果需要填上package name,选上public static void main(String[] args)
,这样少打几个字。
Step3
然后感觉和C++差不多,看了一下输入和输出语句,其他写完就过编译了。
import java.util.Scanner;
public class QuickSort {
static int n;
static int[] a = new int[10000];
private static Scanner sc;
public static void init() {
sc = new Scanner(System.in);
n = sc.nextInt();
for (int i = 1; i <= n; i++) {
a[i] = sc.nextInt();
}
}
public static void qsort(int left, int right) {
int pivot = a[left];
int i = left, j = right;
while (i < j) {
while (i < j && a[j] >= pivot) j--;
if (i < j) {
a[i] = a[j]; i++;
}
while (i < j && a[i] <= pivot) i++;
if (i < j) {
a[j] = a[i]; j--;
}
}
a[i] = pivot;
if (left < i) qsort(left, i-1);
if (i < right) qsort(i+1, right);
}
public static void print() {
for (int i = 1; i <= n; i++) {
System.out.print(a[i] + " ");
}
System.out.println("");
}
public static void main(String[] args) {
init();
qsort(1, n);
print();
}
}