1 public class Vector_t {
9 /* =============================================================================
11 * -- Returns null if failed
12 * =============================================================================
14 public Vector_t(int initCapacity) {
15 int capacity = Math.imax(initCapacity, 1);
17 this.capacity = capacity;
18 this.elements = new Object[capacity];
21 /* =============================================================================
23 * =============================================================================
29 /* =============================================================================
31 * -- Returns null if failed
32 * =============================================================================
34 public Object vector_at (int i) {
39 /* =============================================================================
41 * -- Returns false if fail, else true
42 * =============================================================================
44 public boolean vector_pushBack (Object dataPtr) {
45 if (size == capacity) {
46 int newCapacity = capacity * 2;
47 Object[] newElements = new Object[newCapacity];
49 capacity = newCapacity;
50 for (int i = 0; i < size; i++) {
51 newElements[i] = elements[i];
54 elements = newElements;
57 elements[size++] = dataPtr;
62 /* =============================================================================
64 * -- Returns null if fail, else returns last element
65 * =============================================================================
67 public Object vector_popBack () {
71 Object o=elements[--(size)];
76 /* =============================================================================
78 * =============================================================================
86 /* =============================================================================
88 * =============================================================================
90 public void vector_clear () {
92 elements[--size]=null;
95 /* =============================================================================
97 * =============================================================================
102 QuickSort.sort(elements, 0, size);
105 /* =============================================================================
107 * =============================================================================
109 public static boolean
110 vector_copy (Vector_t dstVectorPtr, Vector_t srcVectorPtr)
112 int dstCapacity = dstVectorPtr.capacity;
113 int srcSize = srcVectorPtr.size;
114 if (dstCapacity < srcSize) {
115 int srcCapacity = srcVectorPtr.capacity;
116 Object[] elements = new Object[srcCapacity];
118 dstVectorPtr.elements = null;
119 dstVectorPtr.elements = elements;
120 dstVectorPtr.capacity = srcCapacity;
123 for(int i = 0; i< srcSize; i++) {
124 dstVectorPtr.elements[i] = srcVectorPtr.elements[i];
127 dstVectorPtr.size = srcSize;