大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)學(xué)習(xí):Java實(shí)現(xiàn)隊(duì)列

Java基礎(chǔ)學(xué)習(xí):Java實(shí)現(xiàn)隊(duì)列

更新時(shí)間:2020-03-24 13:37:49 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2763次


Java基礎(chǔ)學(xué)習(xí):Java實(shí)現(xiàn)隊(duì)列


  棧:這是一個(gè)先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),生活中類似的瀏覽器的返回上一頁就可以利用此結(jié)構(gòu)實(shí)現(xiàn),代碼如下:

  publicclassStack<T>{

  privateObject[]data;//存儲(chǔ)數(shù)據(jù)

  privateinttop;//表示棧頂元素

  publicStack(){

  data=newObject[100];//為了說明原理隨意指定

  top=-1;

  }

  publicsynchronizedvoidput(Tt){//壓棧

  data[data.length]=t;

  top++;

  }

  publicsynchronizedTpop(){//出棧

  if(top<0){

  returnnull;

  }

  Tt=(T)data[top];

  top--;

  returnt;

  }

  }

  這只是我自己的Java實(shí)現(xiàn)只說明原理,但實(shí)際在java中是利用vector來存儲(chǔ)數(shù)據(jù)的,我們知道vector其實(shí)是一個(gè)線程安全的ArrayList,而ArrayList的底層也是一個(gè)數(shù)組,所以原理上大同小異


  隊(duì)列:隊(duì)列其實(shí)就是我們生活中的排隊(duì)現(xiàn)象,先進(jìn)入的先出,后進(jìn)入的后出,代碼實(shí)現(xiàn)如下:

  publicclassQueue<T>{

  privateObject[]data;//存儲(chǔ)數(shù)據(jù)

  privateinthead;//頭

  privateinttail;//尾

  publicQueue(){

  data=newObject[100];//為了說明原理隨意指定

  head=1;

  tail=1;

  }

  publicvoidput(Tt){

  data[tail]=t;

  tail++;

  }

  publicTget(){

  Tt=(T)data[head];

  head++;

  returnt;

  }

  }

  如上所示,也只是說明原理,其實(shí)在javajdk中也有許多不同的對(duì)列,并且對(duì)列可以由數(shù)組實(shí)現(xiàn),也可以由鏈表實(shí)現(xiàn),下面介紹鏈表


  鏈表是一個(gè)類似于現(xiàn)實(shí)中串項(xiàng)鏈的數(shù)據(jù)結(jié)構(gòu),前一個(gè)數(shù)據(jù)指向后一個(gè)數(shù)據(jù),當(dāng)然也可以后一個(gè)數(shù)據(jù)指向前一個(gè)數(shù)據(jù),這就是雙向鏈表,這里不做討論

  publicclassMyNode<T>{

  privateNode<T>headNode;

  publicMyNode(Tt){

  headNode=newNode<>(t,null);

  }

  publicMyNode(){

  }

  privatestaticclassNode<E>{

  Objecte;

  Node<E>next;

  Node(Eelement,Node<E>next){

  this.e=element;

  this.next=next;

  }

  }

  publicvoidput(Tt){

  if(headNode==null){

  headNode=newNode<>(t,null);

  }else{

  headNode=newNode<>(t,headNode);

  }

  }

  publicTget(intindex){

  Nodenode=headNode;

  for(inti=2;i<index;i++){

  node=node.next;

  }

  Tt=(T)node.e;

  returnt;

  }

  }

  以上就是用Java實(shí)現(xiàn)的簡單鏈表,還有雙向鏈表是一個(gè)元素指向前一個(gè)元素和后一個(gè)元素,原理大概相同,這里可以看書鏈表中取固定位置的數(shù)據(jù)是非常麻煩的,必須從第一個(gè)開始依次查找,這也就是linklist不用for(inti=0;i++;i<size())遍歷的原因,因?yàn)閘inklist的底層就是通過鏈表來實(shí)現(xiàn)的


Java基礎(chǔ)學(xué)習(xí):Java實(shí)現(xiàn)隊(duì)列


    以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java基礎(chǔ)學(xué)習(xí):Java實(shí)現(xiàn)隊(duì)列”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲乱码中文字幕综合 | 日韩一级大毛片欧美一级 | 美女视频黄是免费的 | 亚洲婷婷综合色高清在线 | 欧美一级黄色片在线观看 | 欧美激情日本一道免费视频 | 久久精品国产精品国产精品污 | 亚洲我射 | www.欧美成人 | 大学生一级黄色片 | 六月婷婷久香在线视频 | 日韩经典中文字幕 | www.男人的天堂.com | 亚洲欧美日本国产综合在线 | 曰本女人一级毛片看一级毛 | 国产婷婷色一区二区三区 | 91精品全国免费观看老司机 | 91系列| 久久综合综合久久狠狠狠97色 | 中文字幕一区久久久久 | 九九色播 | 久久久四虎成人永久免费网站 | 亚洲一区二区中文 | 亚洲综合无码一区二区 | 亚洲欧美日韩激情在线观看 | 色综合综合 | 四虎永久网址在线观看 | 亚洲视频在线一区二区 | 毛片大全网站 | 午夜香蕉视频 | 国产高清天干天天视频 | 久久久久无码国产精品一区 | 五月天婷婷一区二区三区久久 | 在线色av| 久久精品久久精品久久 | 国产亚洲午夜精品 | 久久这里只有精品首页 | 成人网影| 欧美成人免费高清网站 | 国产亚洲精品自在线观看 | 久久综合亚洲一区二区三区 |