1. 単一リンク リストの欠点
単一リンク リストは、リンク リスト内のデータ要素にのみアクセスできます。逆の順序が必要な場合、単一リンクされたリスト内のデータ要素にアクセスすることは非常に非効率的になります。
2. 二重リンク リストの構造
二重リンク リストは、ノードで構成されるリンク リストの一種であり、各データ ノードには 2 つのポインタがあり、直接の後継者と直接の先行者に。
3. 二重連結リストクラスの基本構造
class HeroNode2 { //编号 public int no; //名称 public String name; //昵称 public String nickName; //下个节点编码 public HeroNode2 next; //上一个节点 public HeroNode2 pre; public HeroNode2(int no, String name, String nickName) { this.no = no; this.name = name; this.nickName = nickName; } public HeroNode2(int no, String name) { this.no = no; this.name = name; } @Override public String toString() { return "HeroNode{" + "no=" + no + ", name='" + name + '\'' + ", nickName='" + nickName + '\'' + '}'; } }
1. 二重リンクリストの挿入操作
##
//添加节点到单向链表 //1. 找到当前链表的最后节点 //2. 将最后这个节点的next指定新节点 public void add(HeroNode2 heroNode) { //因为head节点不能动,所以需要一个辅助变量temp HeroNode2 temp = head; while (true) { //根据是否有下个节点判断 是否到了链表动最后 if (temp.next == null) { break; } //如果没有找到最后 temp后移 temp = temp.next; } //当退出循环时,temp就指向了链表的最后位置 //当最后这个节点的next 指向新的节点 //新节点的上一个节点指向temp temp.next = heroNode; heroNode.pre = temp; }
2. 二重リンクリストの削除操作
##うわー
以上がJavaコードを使用して双方向リンクリストを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。