线性表的简单实现
来源:互联网 发布:开淘宝店需要什么费用 编辑:程序博客网 时间:2024/05/02 02:24
用Java写的一个线性表的简单实现
1、接口设计
2、实现类
个中不足,望大家指出。
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();
- }
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 LinearListImpleimplements LinearList {
- private Object[] slist;
- private int size;
- public LinearListImple() {
- this(10);
- }
- public LinearListImple(int length) {
- if(length == 0) {
- this.slist = new Object[10];
- }
- this.slist = new Object[length];
- }
- public boolean isEmpty() {
- if(size == 0) {
- return true;
- } else {
- return false;
- }
- }
- public int size() {
- return size;
- }
- public Object get(int index) {
- return (Object)slist[index];
- }
- public void set(int index, Object o) {
- checkIndex(index);
- slist[index] = o;
- }
- public boolean add(int index, Object o) {
- checkIndex(index);
- if(size == slist.length) {
- Object[] temp = slist;
- this.slist = new Object[temp.length *2];
- for(int j = 0; j < temp.length; j++) {
- this.slist[j] = temp[j];
- }
- }
- for(int i = size - 1; i >= index; i--) {
- slist[i+1] = slist[i];
- }
- slist[index] = o;
- size++;
- return true;
- }
- public boolean add(Object o) {
- return add(size,o);
- }
- public Object remove(int index) {
- checkIndex(index);
- Object temp = (Object)slist[index];
- for(int i = index; i <= size -2; i++) {
- slist[i] = slist[i+1];
- }
- slist[size - 1] = null;
- size--;
- return temp;
- }
- public void clear() {
- if(size != 0) {
- for(int i = 0; i < size; i++) {
- slist[i] = null;
- }
- size = 0;
- }
- }
- private void checkIndex(int index) {
- if(index > size || index < 0) {
- throw new IndexOutOfBoundsException("下标超出当前线性表长度!"+size);
- }
- }
- }
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[10];}this.slist = new Object[length];}public boolean isEmpty() {if(size == 0) {return true;} else {return false;}}public int size() {return size;}public Object get(int index) {return (Object)slist[index];}public void set(int index, Object o) {checkIndex(index);slist[index] = o;}public boolean add(int index, Object o) {checkIndex(index);if(size == slist.length) {Object[] temp = slist;this.slist = new Object[temp.length * 2];for(int j = 0; j < temp.length; j++) {this.slist[j] = temp[j];}}for(int i = size - 1; i >= index; i--) {slist[i+1] = slist[i];}slist[index] = o;size++;return true;}public boolean add(Object o) {return add(size,o);}public Object remove(int index) {checkIndex(index);Object temp = (Object)slist[index];for(int i = index; i <= size - 2; i++) {slist[i] = slist[i+1];}slist[size - 1] = null;size--;return temp;}public void clear() {if(size != 0) {for(int i = 0; i < size; i++) {slist[i] = null;}size = 0;}}private void checkIndex(int index) {if(index > size || index < 0) {throw new IndexOutOfBoundsException("下标超出当前线性表长度!"+size);}}}
个中不足,望大家指出。
- 线性表的简单实现
- 线性表的简单实现
- 线性表的简单实现
- 简单线性表的java实现
- C语言固定大小的线性表的简单实现
- (一)数据结构之线性表的简单实现:链表
- (二)数据结构之线性表的简单实现:堆栈
- (三)数据结构之线性表的简单实现:队列
- 简单线性回归的Python实现
- 线性表的实现
- 线性表的实现
- 线性表的实现
- 线性表的实现
- 线性表的实现
- 线性表的实现
- 线性表的实现
- 线性表的实现
- 线性表的实现
- 在QQ通讯录之前拦截短信(android)
- hessian杂篇
- myeclipse10.0优化
- Java程序发送邮件的两种方法
- JSF之介绍篇
- 线性表的简单实现
- log日志框架和LocationAwareLogger问题
- UITableView for Android
- (转载)java synchronized详解
- 【转】Tapestry5和Eclipse的整合
- Java的Servlet调用服务器上的html文件直接在客户端打开
- Kii Cloud后端特性分析
- SideNavigation—仿facebook菜单效果
- JAVA直接本地HTML和TXT文件。