线性表的简单实现
用Java写的一个线性表的简单实现1、接口设计
package linearTable;/** * 线性表的接口设计 * @author fox * */public interface LinearList {public boolean isEmpty();public int size();public Object get(int index);public void set(int index,Object e);public boolean add(int index, Object o);public boolean add(Object o);public Object remove(int index);public void clear();}
2、实现类
package linearTable;/** * 线性表的实现 * @author fox * */public class LinearListImple implements LinearList {private Object[] slist;private int size;public LinearListImple() {this(10);}public LinearListImple(int length) {if(length == 0) {this.slist = new Object;}this.slist = new Object;}public boolean isEmpty() {if(size == 0) {return true;} else {return false;}}public int size() {return size;}public Object get(int index) {return (Object)slist;}public void set(int index, Object o) {checkIndex(index);slist = o;}public boolean add(int index, Object o) {checkIndex(index);if(size == slist.length) {Object[] temp = slist;this.slist = new Object;for(int j = 0; j < temp.length; j++) {this.slist = temp;}}for(int i = size - 1; i >= index; i--) {slist = slist;}slist = o;size++;return true;}public boolean add(Object o) {return add(size,o);}public Object remove(int index) {checkIndex(index);Object temp = (Object)slist;for(int i = index; i <= size - 2; i++) {slist = slist;}slist = null;size--;return temp;}public void clear() {if(size != 0) {for(int i = 0; i < size; i++) {slist = null;}size = 0;}}private void checkIndex(int index) {if(index > size || index < 0) {throw new IndexOutOfBoundsException("下标超出当前线性表长度!"+size);}}}
个中不足,望大家指出。
页:
[1]