1 public class Vector_t {
8 // qsort = new QuickSort();
11 /* =============================================================================
13 * -- Returns null if failed
14 * =============================================================================
16 public Vector_t(int initCapacity) {
17 int capacity = Math.imax(initCapacity, 1);
19 this.capacity = capacity;
20 this.elements = new Object[capacity];
23 /* =============================================================================
25 * -- Returns null if failed
26 * =============================================================================
28 public Object vector_at(int i) {
29 if ((i < 0) || (i >= size)) {
30 System.out.println("Illegal Vector.element\n");
37 /* =============================================================================
39 * -- Returns false if fail, else true
40 * =============================================================================
42 public boolean vector_pushBack(Object dataPtr) {
43 if (size == capacity) {
44 int newCapacity = capacity * 2;
45 Object[] newElements = new Object[newCapacity];
47 capacity = newCapacity;
48 for (int i = 0; i < size; i++) {
49 newElements[i] = elements[i];
52 elements = newElements;
55 elements[size++] = dataPtr;
60 /* =============================================================================
62 * -- Returns null if fail, else returns last element
63 * =============================================================================
65 public Object vector_popBack() {
70 return elements[--size];
73 /* =============================================================================
75 * =============================================================================
77 public int vector_getSize() {
81 /* =============================================================================
83 * =============================================================================
85 public void vector_clear() {
89 /* =============================================================================
91 * =============================================================================
96 //qsort.sort(elements, 0, (elements.length - 1));
98 //qsort(elements, size, 4, compare);
101 * =============================================================================
103 * =============================================================================
105 public static boolean vector_copy (Vector_t dstVectorPtr, Vector_t srcVectorPtr) {
106 int dstCapacity = dstVectorPtr.capacity;
107 int srcSize = srcVectorPtr.size;
108 if (dstCapacity < srcSize) {
109 int srcCapacity = srcVectorPtr.capacity;
110 Object[] elements = new Object[srcCapacity];
111 dstVectorPtr.elements = null;
112 dstVectorPtr.elements = elements;
113 dstVectorPtr.capacity = srcCapacity;
115 for(int i = 0; i< srcSize; i++) {
116 dstVectorPtr.elements[i] = srcVectorPtr.elements[i];
119 dstVectorPtr.size = srcSize;