在新增節點的時候,想依據排名將英雄插入到指定的位置,而不是直接就在鍊錶末尾就加上節點。
實現的**:倒序插入,順序輸出
核心**:注釋很重要,清楚表明了思路以及很多的細節,專門換了個bash的**塊,讓注釋更清晰。
這個方法是以flag的值為參考的
// 按順序新增
public void addbyorder(heronode heronode)
if(temp.next.no > heronode.no)
else
if(temp.next.no == heronode.no)
temp = temp.next;
} // 遍歷完成之後通過判斷flag的值來插入
if(flag == true)
else
}
雙向鍊錶按順序新增的注意點
雙向鍊錶按順序新增node的時候,要先處理node後面的指標,再處理node前面的指標,原因在於 如果先把node和鍊錶前半截連起來,鍊錶前半截指向鍊錶後半截的指標就沒了,這樣後半截鍊錶就找不到了 先把node和鍊錶後半截連起來,這樣由於node是可以直接找到的,所以可以進行將node和鍊錶前半截連...
鍊錶學習筆記 順序鍊錶
順序鍊錶的主要思想就是使用乙個整型陣列來儲存資料的指標。在建立記憶體的時候如圖,用後面的陣列來儲存指標。大量使用 給void重新起個名字 封裝使用的資料j 讓其對使用者是透明的 typedef void seqlist typedef void seqlistnode seqlist seqlist...
順序表及鍊錶
順序表 將表中元素乙個接乙個的存入一組連續的儲存單元中,這種儲存結構是順序結構。利用陣列單元的物理位置上的 優點 儲存空間連續,允許元素隨機訪問 缺點 長度固定,在分配記憶體之前要先確定好陣列長度,致使可能造成空間浪費 單鏈表 用一組任意的儲存單元存放線性表的元素,只包含指向下乙個節點的指標,只能單...