annotate src/main/java/alice/test/codesegment/local/bitonicsort/DataList.java @ 345:8f71c3e6f11d

Change directory structure Maven standard
author sugi
date Wed, 16 Apr 2014 18:26:07 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
1 package alice.test.codesegment.local.bitonicsort;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
3 import org.msgpack.annotation.Message;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
4
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
5 @Message
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
6 public class DataList {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
7
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
8 public int[] table;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
9
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
10 public DataList(int size){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
11 table = new int[size];
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
12 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
13
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
14 public DataList(int[] numbers){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
15 table = numbers;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
16 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
17
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
18 public DataList createDataList(int start, int size){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
19 int[] table2 = new int[size];
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
20 int end = start+size;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
21 for (int i=start,j=0;i<end;i++,j++){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
22 table2[j] = table[i];
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
23 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
24 return new DataList(table2);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
25 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
26
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
27 public void swap(int i, int j){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
28 int tmp = table[i];
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
29 table[i] = table[j];
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
30 table[j] = tmp;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
31 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
32
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
33 public void showData(){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
34 for (int aTable : table) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
35 System.out.print(aTable + " ");
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
36 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
37 System.out.println();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
38 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
39
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
40 public void showData(int range){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
41 for(int i = 0;i<range;i++){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
42 System.out.print(table[i]+ " ");
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
43
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
44 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
45 System.out.println();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
46 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
47
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
48 public void showSize(){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
49 System.out.print("size is "+this.table.length+". ");
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
50 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
51
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
52 public int getSize(){
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
53 return this.table.length;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
54 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
55
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
56 public static void merge(DataList list1, DataList list2) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
57 int[] t1 = list1.table;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
58 int[] t2 = list2.table;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
59 int[] t0 = list1.table.clone(); // copy to avoid destroy t1
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
60 int i = 0, j= 0,n=0;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
61 while (i< t0.length) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
62 if (n>=t1.length) { // switch to the second list
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
63 t1 = t2; n = 0;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
64 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
65 if (j>=t2.length || t0[i] < t2[j]) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
66 t1[n] = t0[i]; // including when j reaches end of t2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
67 i++; n++;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
68 } else {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
69 t1[n] = t2[j];
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
70 j++; n++;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
71 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
72 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
73 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
74
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
75 }