선형 표 의 순서 실현

4208 단어 데이터 구조
데이터 구조 와 알고리즘 은 프로그램의 영혼 이 고 기본 적 인 데이터 구 조 는 선형 구조, 나무, 그림 으로 나 뉜 다.선형 구 조 는 순서대로 실현 되 는 선형 구조 와 체인 식 이 실현 되 는 선형 구조 로 나 뉜 다.순서대로 실 현 된 선형 구 조 는 무 작위 액세스 구조 로 옮 겨 다 니 며 요 소 를 찾 는 데 적합 하 다.삽입 과 삭제 작업 에 적합 하지 않 습 니 다.get (), set () 의 시간 복잡 도 는 O (1) 이 고 삽입 과 삭제 의 시간 복잡 도 는 O (N) 이다.자바 언어 를 사용 하여 순서대로 저 장 된 선형 구조 코드 는 다음 과 같 습 니 다.
          

package dataStructtion.linear;
/**
 *           
 * @author xiucai
 * @param 
 */
public interface LList {
	/**
	 *       
	 * @return
	 */
	public boolean isEmpty();
	/**
	 *        
	 * @return
	 */
	public int length();
	/**
	 *      i   (i>=0)
	 * @param i
	 * @return
	 */
	public T get(int i);
	/**
	 *      i     t
	 * @param i
	 * @param t
	 */
	public void set(int i,T t);
	/**
	 *     i       t
	 * @param i
	 * @param t
	 */
	public void insert(int i,T t);
	/**
	 *           t
	 * @param t
	 */
	public void append(T t);
	/**
	 *      i   
	 * @param i
	 * @return
	 */
	public T remove(int i);
	/**
	 *          
	 */
	public void removeAll();
	/**
	 *   ,           key   
	 * @param t
	 * @return
	 */
	public T search(T t);
	/**
	 *            t
	 * @param t
	 * @return
	 */
	public boolean contain(T t);
}




           :

package dataStructtion.linear;
/**
 *            
 * @author xiucai
 * @param 
 */
public class SeqList implements LList{
	private Object[] element;//    
	private int len;//     ,      
	/**
	 *     ,    size  
	 * @param size
	 */
	public SeqList(int size){
		this.element=new Object[size];
		this.len=0;
	}
	/**
	 *        64   
	 */
	public SeqList(){
		this(64);
	}
	/**
	 *   toString  ,    
	 */
	@Override
	public String toString(){
		String string="";
		if(this.len==0)
			return string;
		for(int i=0;i t=(SeqList)obj;
			if(this.len==t.len){
				for(int i=0;i=0&&i=0&&ithis.len?len:i;
		for(int j=this.len-1;j>=i;j--)
			this.element[j+1]=this.element[j];
		this.element[i]=t;
		this.len++;
	}
	/**
	 *          t
	 */
	@Override
	public void append(T t) {
		// TODO Auto-generated method stub
		insert(this.len, t);
	}
	/**
	 *      i   ,        
	 */
	@Override
	public T remove(int i) {
		// TODO Auto-generated method stub
		if(i<0||i>this.len-1)
			return null;
		T t=(T)this.element[i];
		for(int j=i;j seqList=new SeqList();
		System.out.println(seqList.isEmpty());
		System.out.println(seqList.length());
		seqList.insert(0, "aaa");
		System.out.println(seqList);
		seqList.insert(1,"bbb");
		System.out.println(seqList);
		seqList.insert(0,"ccc");
		System.out.println(seqList);
		System.out.println(seqList.length());
//		System.out.println(seqList.get(4));
		seqList.set(0, "ddd");
		System.out.println(seqList);
		seqList.remove(0);
		System.out.println(seqList);
		seqList.append("ccc");
		System.out.println(seqList);
		System.out.println(seqList.contain("aaa"));
		System.out.println(seqList.search("bbb"));
		seqList.removeAll();
		System.out.println(seqList);
	}
}




 

좋은 웹페이지 즐겨찾기