`
firesaijj
  • 浏览: 8985 次
  • 性别: Icon_minigender_1
  • 来自: 四川
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据结构学习---线性表

阅读更多
  本人第一次发帖,只是想把自己学习的知识做一个记录,在数据结构相关的内容里面大部分来自于周鹏的“数据结构--java语言版”一书,如有侵权望作者即时指出,谢谢。
  工作了两年多,平时都不注意基本知识积累,或者曾经知道了,但是没有及时记录,过几个月就忘记了,现在出去找工作,很多都会问关于数据结构的知识,每次总是一知半解的回答,最终结果就是没通过面试,好的工作机会眼睁睁的看着没把握住,实在可惜,希望通过再次学习基础知识,能对java有更深的理解和认识。
  所写的文章中,主要以代码为主,某些地方可能会写上我自己的体会和认识。新手发帖,写得不好,望各位大大多多指教
  List接口,相信大家并不陌生,代码里面用的很多,List的接口声明。
package taxus.list;

public interface List {
	
	//线性表大小,实际存放的元素个数
	public int getSize();
	
	//线性表是否为空
	public boolean isEmpty();
	
	//线性表是否包含元素e
	public boolean contains(Object e);
	
	//返回元素e在线性表中的序号
	public int indexOf(Object e);
	
	//将元素e插入到线性表中i号位置
	public void insert(int i, Object e) throws OutOfBoundaryException;
	
	//将元素e插入到元素obj之前
	public boolean insertBefore(Object obj, Object e);
	
	//将元素e插入到元素obj之后
	public boolean insertAfter(Object obj, Object e);
	
	//删除线性表中序号为I的元素,并返回
	public Object remove(int i) throws OutOfBoundaryException;
	
	//删除线性表中第一个与e相同的元素
	public boolean remove(Object e);
	
	//替换线性表中序号为i的数据元素e,并返回原数据元素
	public Object replace(int i, Object e)    throws         OutOfBoundaryException;
	
	//返回线性表中序号为i的数据元素
	public Object get(int i) throws OutOfBoundaryException;
	
}

OutOfBoundaryException异常类
package taxus.list;

@SuppressWarnings("serial")
public class OutOfBoundaryException extends RuntimeException {
	
	public OutOfBoundaryException(){}
	
	public OutOfBoundaryException(String s){
		super(s);
	}
	
}


Strategy接口
package taxus.list;

public interface Strategy {

	public boolean equal(Object obj1, Object obj2);
	
	public int compare(Object obj1, Object obj2);
}

DefaultStrategy实现了Strategy接口
package taxus.list;

public class DefaultStrategy implements Strategy {

	@Override
	public boolean equal(Object obj1, Object obj2) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public int compare(Object obj1, Object obj2) {
		// TODO Auto-generated method stub
		return 0;
	}

}

只是简单的实现,并没有实际大小比较策略。
以上声明接口和实现类,是一些基本类,为后面单链表,双链表,连接表服务。
那些具体的性能分析和神奇的公式没贴出来,一是公式不好写,二是看不懂。
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics