Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Christian Schäl
- */
- public class vector<T> {
- private static final int STD_RESERVE_SIZE = 3;
- private Object[] elem;
- private int length = 0;
- public vector(int len) {
- elem = new Object[len];
- }
- @SuppressWarnings("unchecked")
- public void push_back(T t) {
- if (size() < capacity()) {
- elem[length] = t;
- length++;
- } else {
- reserve(size() + STD_RESERVE_SIZE);
- push_back(t);
- }
- }
- @SuppressWarnings("unchecked")
- public T get(int i) {
- return (T)elem[i];
- }
- public void reserve(int len) {
- Object tmp[] = elem;
- Object nar[] = new Object[len];
- for (int i = 0; i < elem.length; i++) {
- nar[i] = elem[i];
- }
- }
- public T pop(int i) {
- T t = get(i);
- remove(i);
- return t;
- }
- public void remove(int index) {
- for (int i = index; i < size() - 1; i++) {
- elem[i] = elem[i+1];
- }
- this.length--;
- }
- public int size() {
- return this.length;
- }
- public int capacity() {
- return elem.length;
- }
- }
- /*
- * Christian Schäl
- */
- public class stack<T> {
- private vector<T> vec;
- public stack() {
- vec = new vector<T>(10);
- }
- public void push_back(T t) {
- vec.push_back(t);
- }
- public T pop_back() {
- T elem = vec.get(vec.size() - 1);
- vec.remove(vec.size() - 1);
- return elem;
- }
- public int size() {
- return vec.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement