start of new file
[IRC.git] / Robust / src / Tests / Prefetch / QuickSort.java
1 public class QuickSort {
2         public QuickSort() {
3         }
4
5         public void quick_srt(int array[],int low, int n){
6                 int lo = low;
7                 int hi = n;
8                 if (lo >= n) {
9                         return;
10                 }
11                 int mid = array[(lo + hi) / 2];
12                 while (lo < hi) {
13                         while (lo<hi && array[lo] < mid) {
14                                 lo++;
15                         }
16                         while (lo<hi && array[hi] > mid) {
17                                 hi--;
18                         }
19                         if (lo < hi) {
20                                 int T = array[lo];
21                                 array[lo] = array[hi];
22                                 array[hi] = T;
23                         }
24                 }
25                 if (hi < lo) {
26                         int T = hi;
27                         hi = lo;
28                         lo = T;
29                 }
30                 quick_srt(array, low, lo);
31                 if(lo == low) {
32                         low = lo+1;
33                 }
34                 else {
35                         low = lo;
36                 }
37                 quick_srt(array, low, n);
38         }
39
40         public static void main(String[] args) {
41                 int i;
42                 int j;
43                 QArray myArray[] = new QArray[2];
44                 for(i = 0; i<2; i++) {
45                         myArray[i] = new QArray();
46                 }
47                 QuickSort qsort = new QuickSort();
48                 System.printString("Values Before sorting\n");
49                 for(i = 0; i<2; i++){ 
50                         for(j = 0; j<10; j++){ 
51                                 System.printInt(myArray[i].mya[j]);
52                                 System.printString("\t");
53                         }
54                         System.printString("\n");
55                 }
56                 for(i = 0; i<2; i++){ 
57                         qsort.quick_srt(myArray[i].mya, 0, 9);
58                 }
59                 System.printString("Values After sorting\n");
60                 for(i = 0; i<2; i++){ 
61                         for(j = 0; j<10; j++){ 
62                                 System.printInt(myArray[i].mya[j]);
63                                 System.printString("\t");
64                         }
65                         System.printString("\n");
66                 }
67                 System.printString("\n");
68         }
69 }
70
71 public class QArray {
72         public int mya[];
73         public QArray() {
74                 mya = new int[10];
75                 mya[0] = 65;
76                 mya[1] = 26;
77                 mya[2] = 5;
78                 mya[3] = 49;
79                 for(int i = 4; i<9; i++)
80                         mya[i] = 10*i;
81                 mya[9] = 72;
82         }
83 }