数据结构复习(重写某些重要数据结构API) ------------链表

数据结构复习(重写某些重要数据结构API) ————链表

数据:
package 链表;

class DATA {

    /**
     * @param args
     */
  String key;
  String name;

}

-------------------

实现:

``package 链表;

abstract class Linked {

Node addNodeofEND(Node head,DATA addData){//在末尾添加一个节点 返回为head
        Node node=new Node();//用来保存输入数据
        Node  temp;//临时节点 用来遍历
        node.nodeData = addData;
        node.nextNode = null;
        if(head == null){//head 即为null
            head = node;
            return head;
        }
        else{
            temp = head;
            while(temp.nextNode!=null){
                temp  = temp.nextNode;
            }
            temp.nextNode = node;
            return head;



        }


    }

Node addNodeofBINGIN(Node head,DATA addData){//在开始到地方添加一个节点
    Node node=new Node();//用来保存输入数据
    node.nodeData = addData;
    node.nextNode = head;
    head = node;
    return head;

}

Node findNode(Node head,String key){//根据key来查找节点

    Node temp = new Node();//临时节点用来遍历链表
     temp   = head;
     while(temp.nextNode!=null){

         if(temp.nodeData.key.compareTo(key)==0){//找到key一样的话就返回
             return temp;
         }
        temp=temp.nextNode;

     }

         return null;


}

Node insertNode(Node head,DATA insertData,String key){//在key之后插入新的节点

    Node node =new Node();
    Node temp;
    node.nodeData = insertData;
    temp = findNode(head,key);//保存key所在节点
    if(temp != null){

      node.nextNode = temp.nextNode;
      temp.nextNode = node;

    }
    else{
        System.out.println("没找到这个插入位置,插入失败!");
    }

    return head;
}

Node DeleteNode(Node head,String key){//根据key来删除节点

Node node,temp;
temp = head;
node= head;
while(temp!=null){

    if(temp.nodeData.key.compareTo(key)==0){
        node.nextNode = temp.nextNode;
       temp =null;
      return head;
      }
else {
                node = temp;
        temp=temp.nextNode;
}   
}
        System.out.println("没找到这个插入位置,删除失败!");


    return head;



}
}

`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值