• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 知識大全 > 知識百科 > 百科知識 > java什么是鏈表

    java什么是鏈表

    時間: 歐東艷656 分享

    java什么是鏈表

      鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。 相比于線性表順序結構,操作復雜。由于不必須按順序存儲,鏈表在插入的時候可以達到O(1)的復雜度,比另一種線性表順序表快得多,但是查找一個節點或者訪問特定編號的節點則需要O(n)的時間,而線性表和順序表相應的時間復雜度分別是O(logn)和O(1)。

      鏈表(Chain本文所說鏈表均為單向鏈表,以下均簡稱單向鏈表)實際上是由節點(Node)組成的,一個鏈表擁有不定數量的節點。而向外暴露的只有一個頭節點(Head),我們對鏈表的所有操作,都是直接或者間接地通過其頭節點來進行的。

      節點(Node)是由一個需要儲存的對象及對下一個節點的引用組成的。也就是說,節點擁有兩個成員:儲存的對象、對下一個節點的引用。

      這樣說可能大家不是很明白,我貼一張圖大家可能更容易理解。

      那么大家可能清除了,為什么說有了頭節點就可以操作所有節點。因為有著不斷的引用嘛!

      那么在鏈表里的屬性大概就只有兩個了:頭節點和節點數量。當然,根據需要,我們通常需要更多的屬性。

      簡單的鏈表可以寫為下面的樣子:

      1 package myChain;

      2

      3 /**

      4 * (單向)鏈表

      5 *

      6 * @author Johness

      7 */

      8 public class PersonChain {

      9 private PersonChainNode head; // 頭節點

      10 private int size; // 鏈表的實體(即節點的數量)

      11 private int modCount; // 鏈表被操作的次數(備用)

      12

      13 /**

      14 * 獲得鏈表中節點數量

      15 *

      16 * @return 鏈表中節點數

      17 */

      18 public int getSize() {

      19 return this.size;

      20 }

      21

      22 /**

      23 * 添加節點的一般方法

      24 *

      25 * @param p

      26 * 添加到鏈表節點的對象 由于實現細節,作為唯一標識,同一個編號的Person只能添加一次

      27 */

      28 public void addNode(Person p) {

      29 if (!contains(p.personNo)) { // 如果鏈表中沒有該對象,則準備添加

      30 if (head != null) { // 如果有頭節點,則添加新節點作為頭節點

      31 head = new PersonChainNode((myChain.Person) p, head);

      32 size++;

      33 modCount++;

      34 } else { // 如果沒有頭節點,則添加對象作為頭節點

      35 head = new PersonChainNode((myChain.Person) p, null);

      36 size++;

      37 modCount++;

      38 }

      39 }

      40 }

      41 }

    java什么是鏈表

      以上的代碼就是一般鏈表的骨架了。擁有兩個重要屬性。

    245839 主站蜘蛛池模板: 日韩欧美二区在线观看| 亚州av综合色区无码一区| 亚洲乱码在线播放| 久久精品午夜福利| 久久精品无码专区免费东京热 | 四影虎影ww4hu32海外网页版| 国产乱人伦精品一区二区 | 国产在线精品一区二区中文 | 疯狂做受xxxx高潮欧美日本| 精品国产福利在线观看| 美女开嫩苞视频在线播放| 精品国产一区二区三区不卡| 男人边吃奶边爱边做视频国产| 疯狂做受xxxx高潮欧美日本| 欧美精品第一页| 欧美xxxx做受欧美精品| 日本熟妇色熟妇在线视频播放| 无码av大香线蕉伊人久久| 小泽码利亚射射射| 国内不卡一二三四区| 国产真实乱子伦精品| 国产乱在线观看完整版视频| 啦啦啦中文在线观看日本| 亚洲综合精品香蕉久久网| 亚洲国产成人精品无码区在线观看| 久久精品视频5| 一本色道久久88加勒比—综合| 国产一区二区免费在线| 午夜精品福利影院| 亚洲国产高清美女在线观看| 久久久噜噜噜www成人网 | 做a的视频免费| 乱子伦xxxx| jizzjizzjizz国产| 欧美bbbbb| 琪琪女色窝窝777777| 日韩欧美精品在线观看| 天堂网在线最新版www| 国产嫩草影院精品免费网址| 人禽无码视频在线观看| 久久免费福利视频|