日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Java实现链表结构的具体代码

發(fā)布時間:2025/5/22 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java实现链表结构的具体代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、數(shù)據(jù)準(zhǔn)備

 1. 定義節(jié)點(diǎn)

? ?2. ? 定義鏈表

? ? ? ? ? ?1.數(shù)據(jù)部分

? ? ? ? ? ?2.節(jié)點(diǎn)部分

class DATA //數(shù)據(jù)節(jié)點(diǎn)類型 {String key;String name;int age; } class CLType //定義鏈表結(jié)構(gòu) { DATA nodeData =new DATA(); CLType nextNode; }

二、追加節(jié)點(diǎn)

  • 首先分配內(nèi)存。保存新增節(jié)點(diǎn)
  • 從頭應(yīng)用head開始追個檢查,直到找到最后結(jié)點(diǎn)
  • 將表尾結(jié)點(diǎn)地址部分設(shè)置為新增節(jié)點(diǎn)的地址
  • 將新增節(jié)點(diǎn)的地址部分置為null
  • CLType CLAddEnd(CLType head,DATA nodeData) {CLType node,temp;if((node=new CLType()==null){System.out.println("申請內(nèi)存失敗");return null; //申請內(nèi)存失敗 }else{node.nodeData=nodeData;node.nextNode=null;if(head==null){head =node;return head;}temp=head;while(temp!=null){temp=temp.nextNode; //查找鏈表的末尾}temp.nextNode=node;return head; }}

    三、插入頭結(jié)點(diǎn)

  • 分配內(nèi)存空間
  • 使新增節(jié)點(diǎn)指向head
  • 使head指向新增節(jié)點(diǎn)
  • CLType CLAddFirst(DATA nodeData,CLType head){CLType node;if((node=new CLType())==null){return null;
            }
    else{node.nodeData=nodeData;node.nextNode=head;head=node;return head;} }

    四、查找節(jié)點(diǎn)

    CLType CLFindNode(CLType head,String key) {CLType temp;temp =head;while(temp!=null){if(temp.nodaData==key)return temp;temp=temp.nextNode;}return null; }

    五、插入節(jié)點(diǎn)

    CLType CLInsentNode(CLType head,String findkey,DATA nodeData) {CLtype node,nodetemp;if((node=new CLType())==null){System.out.println("申請內(nèi)存失敗!");return null;}node.nodaData=nodeData;nodetemp=(head,findkey); //查找相應(yīng)節(jié)點(diǎn)if(nodetemp!=null) //若找到節(jié)點(diǎn) {node.nextNode=nodetemp.nextNode;nodetemp.nextNode=node;}else{System.out.println("未找到正確的插入位置。");}return head; }

    六、刪除節(jié)點(diǎn)

    int CLDeleteNode(CLType head; String key) {CKtype node,temp;node = head;temp = head;while(temp!=null){if(temp.nodeData.key.compareTo(key)==0){node.nextNode=temp.nextNode;temp=null;return 1;}elas{ note=temp;temp=temp.nextNode;} }return 0; }

    七、計算鏈表長度

    int CLLength(CLType head ) {CLType temp;temp = head;int length=0;while(temp!=null){length++;temp=temp.nextNode;}return length; }

    八、顯示全部節(jié)點(diǎn)

    void CLAllNode(CLType head) {CLType temp;DATA nodeData;temp = head;System.out.println("當(dāng)前鏈表共同擁有"+CLLength(head)+"個節(jié)點(diǎn)。

    鏈表數(shù)據(jù)例如以下:"); while(temp!=null) { nodeData=temp.nodeData; System.out.println(""+nodeData.key+nodeData.name+nodeData.age); temp=temp.nextNode; } }

    轉(zhuǎn)載于:https://www.cnblogs.com/cxchanpin/p/7243480.html

    總結(jié)

    以上是生活随笔為你收集整理的Java实现链表结构的具体代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。