国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - java使用數(shù)組和鏈表實(shí)現(xiàn)隊(duì)列示例

java使用數(shù)組和鏈表實(shí)現(xiàn)隊(duì)列示例

2019-11-05 11:32java教程網(wǎng) JAVA教程

隊(duì)列是一種特殊的線性表,它只允許在表的前端(front)進(jìn)行刪除操作,只允許在表的后端(rear)進(jìn)行插入操作,下面介紹一下java使用數(shù)組和鏈表實(shí)現(xiàn)隊(duì)列的示例

(1)用數(shù)組實(shí)現(xiàn)的隊(duì)列
 

復(fù)制代碼代碼如下:
  
//先自己定義一個(gè)接口  
public interface NetJavaList {  
  public void add(Student t);    //繼承該接口的類(lèi)必須實(shí)現(xiàn)的方法  
  public Student get(int index);//隊(duì)列的加入,取出,隊(duì)列的大小  
  public int size();  

}  

 

定義一個(gè)學(xué)生類(lèi)
 

復(fù)制代碼代碼如下:

class Student {  
    private String name ;   //私有屬性 名字,學(xué)分  
    private int score ;  
    public Student(String name , int score){  
        this.name = name ;  
        this.score = score ;  
    }  
    public void printInfo(){  
        System.out.println("姓名"+name + "學(xué)分"+score ) ;  
    }  
}  

 

 實(shí)現(xiàn)自定義接口
 

復(fù)制代碼代碼如下:

public class STList implements NetJavaList{  
private Student[] str = new Student[0] ;  
    //增加隊(duì)列的元素  
    public void add(Student t) {  
        Student[] src = new Student[str.length+1];  
        for(int i=0;i<str.length;i++){  
            src[i]=str[i] ;  
        }  
        src[str.length]=t ;  
        str = src ;  
    }  

    //得到隊(duì)列中的某個(gè)元素  
    public Student get(int index) {  
        Student t = str[index];  
        return t;  
    }  

    //返回隊(duì)列的長(zhǎng)度  
    public int size() {  

        return str.length;  
    }  

}  

 

寫(xiě)個(gè)主函數(shù)類(lèi)實(shí)現(xiàn)下隊(duì)列
 

復(fù)制代碼代碼如下:

public class Manager {  
    public static void main(String[] args) {  
        STList sil = new STList() ;  
        for(int i=0;i<5;i++){  
        Student st = new Student("name"+i,i*10);      
        sil.add(st);  
        }  
       printList(sil) ;  

    }  
//輸出隊(duì)列中的所有元素  
  public static void printList(STList t){  
      for(int i=0;i<t.size();i++){  
          Student f =t.get(i);  
          f.printInfo();  
      }  

  }  
}  

 

 (2)鏈表實(shí)現(xiàn)的隊(duì)列
  先定義一個(gè)節(jié)點(diǎn)類(lèi);
 

復(fù)制代碼代碼如下:

public class LinkNode {  
private Object obj ; //節(jié)點(diǎn)內(nèi)的數(shù)據(jù)對(duì)象  
private LinkNode next ; //對(duì)下一個(gè)節(jié)點(diǎn)的引用  
//在創(chuàng)建節(jié)點(diǎn)對(duì)象的時(shí)候就傳入節(jié)點(diǎn)的數(shù)據(jù)對(duì)象  
public LinkNode(Object obj){  
    this.obj = obj ;  
}  
public Object getObj(){  
    return obj ;  
}  
public void setObj(Object obj){  
    this.obj = obj ;  

}  
public LinkNode getNext(){  
    return next ;  
}  
public void setNext(LinkNode next){  
    this.next =next ;  
}  
}  

 

 然后寫(xiě)個(gè)隊(duì)列的實(shí)現(xiàn)方法類(lèi)

復(fù)制代碼代碼如下:

public class LinkList {  

    public static LinkNode root ;//第一個(gè)節(jié)點(diǎn)  
    public LinkNode last = null ;//最后的一個(gè)節(jié)點(diǎn)  
    public static void main(String ara[]){  
        LinkList df = new LinkList() ;  
        df.add(1);  
        df.add(2);  
        df.add(3);  
        df.printLinkList(root);  
        df.move(root,2) ;  
        df.move(root,2) ;  
        df.printLinkList(root);  

    }  
    /* 
     * 插入節(jié)點(diǎn) 
     */  
    public void add(Object obj){  
        //創(chuàng)建一個(gè)新的節(jié)點(diǎn)  
        LinkNode t = new LinkNode(obj);  
        if(root ==null){  
            root = t ;  
            last = root ;  
        }else{  
            last.setNext(t);  
            last = t ;  
        }  

    }  
    /* 
     * 輸出操作 
     */  
    public void printLinkList(LinkNode root){  
        if(null != root){  
            Object data = root.getObj();  
            System.out.println(data);  
            LinkNode temp = root.getNext();  
            printLinkList(temp) ;  
        }  
    }  
    /* 
     * 刪除操作 
     */  
    public LinkNode move(LinkNode root,int index){  
        if(this.getLength()<index || index <0){  
            throw new RuntimeException("下標(biāo)越界:"+index +  
                ",size:" +this.getLength()) ;  
        }else{  
        int count = 1 ;LinkNode sd = root ;  
         while(count!=index-1){  
             sd = sd.getNext();  

         }  

          
         sd.setNext(sd.getNext().getNext());  
        return root ;  
    }}  

   /* 
    * 得到鏈表的長(zhǎng)度 
    */  
      public int  getLength(){  
        int count = 0 ;  
        if(root==null){  
            return count ;  
        }  
        LinkNode node =root.getNext();  
        while(null != node){  
            count ++ ;  
            node=node.getNext();  

        }  
        //System.out.println((count+1));  
        return count+1 ;  
      }  
}  

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人精品久久久 | 久久精品久久综合 | 极品美女销魂一区二区三区 | 日韩精品久久久 | 精品国产乱码久久久久久影片 | 国产精品久久久久久久久免费 | 亚洲欧美在线一区 | 日韩精品免费一区二区夜夜嗨 | 成人精品视频在线 | 四虎免费紧急入口观看 | 日本a v网站| 成人国产免费视频 | 韩日精品一区 | 91粉色视频| 国产久| 日本涩涩视频 | 欧美第一视频 | 国内精品视频 | 国产免费视频在线 | 中文字幕第七页 | 黄色精品在线 | 亚洲免费视频大全 | 久久久久一区二区 | 日韩欧美在线观看视频 | 国产亚洲综合一区二区 | 色视在线 | 国产精品69毛片高清亚洲 | 久久精品国产精品青草 | 玖玖综合网 | 欧美99| 26uuu国产电影一区二区 | 国产va | 天天干夜夜操 | 成人影音| 起碰在线视频 | 91精品国产综合久久福利软件 | 91久久精品国产91久久 | 国产一级片儿 | 中文字幕日韩在线 | 国产一区二区av在线 | 久久精品日韩 |