最代码广告位
package com.pb.datestruture.base;
/**
 * 线性表按顺序存储 add 
 * Object为传入的内容 int为传入的索引
 * @author Administrator
 *
 */
public class SequenceList implements LinearList {
	private Object [] slist;
	private int size;
	public SequenceList() {
		this(3);
	}
	public SequenceList(int length) {
		if(length==0){
			this.slist=new Object[3];
		}
		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];
	}
	//修改index要修改的的索引  element要修改的内容
	public void set(int index, Object element) {
		cheIndex(index);
		slist [index] = element; 
	}
	
	
	public boolean add(Object element) {
		
		return add(size,element);
	}
//验证索引是不是符合要求
	private void cheIndex(int index){
		if(index>size||index<0){
			throw new IndexOutOfBoundsException("index"+index+",size"+size);
		}
	}
	//添加index要修改的的索引  element要体添加的内容
	public boolean add(int index, Object element) {
		cheIndex(index);
		if(index>size||index<0){
			throw new IndexOutOfBoundsException("index"+index+",size"+size);
		}
		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] =element;
		size++;
		return true;
	}

	////删除index要删除的的索引 
	public Object remove(int index) {
		cheIndex(index);
		Object old = (Object)slist[index];
		//依次向后挪动
		for(int i=index;i<size-1;i++){
			slist[i]=slist[i+1];
		}
		//释放最后1个元素
		slist[--size]=null;
		return old;
	}

	//清除线性表
	public void clear() {
		if(size!=0){
			for(int i=0;i<size;i++){
				slist[i]=null;
			}
			size=0;
		}

	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
//		SequenceList s = new SequenceList();
//		System.out.println("Is Empty?"+s.isEmpty());
//		System.out.println("Size:"+s.size);
//		s.add("Jack");
//		s.add("John");
//		s.add(0,"Lily");
//		s.add("Lucy");
//		s.set(2, "LiLei");
//		s.remove(2);
//		s.clear();
//		System.out.println("Is Empty?"+s.isEmpty());
//		System.out.println("Size:"+s.size);
		
//        System.out.println(s.get(0));
//        System.out.println(s.get(1));
//        System.out.println(s.get(2));
	}

}
最近下载更多
李海洋 LV911月8日
月亮月亮星星
yufan宇梵 LV29月12日
星星星星
15627235785 LV22019年12月30日
星星星星
lhw549624 LV22019年12月29日
星星星星
星佑-泽明 LV12019年11月8日
星星
xie5461246464 LV62019年9月4日
月亮星星星星
g602270944 LV92019年7月1日
月亮月亮星星
leon8023 LV12019年1月28日
星星
m814868848 LV12019年1月25日
星星
落锁lfs LV12018年12月17日
星星
最近浏览更多
dsfgfdhff LV211月25日
星星星星
youwuzuichen LV711月13日
月亮星星星星星星
李海洋 LV911月8日
月亮月亮星星
我是沫沫儿 LV49月17日
月亮
yufan宇梵 LV29月12日
星星星星
aixiaoliu9月7日
暂无贡献等级
yuanfen LV168月27日
太阳
dapeng0011 LV78月6日
月亮星星星星星星
lhblion LV98月6日
月亮月亮星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友