zoukankan      html  css  js  c++  java
  • 链表介绍

    单向链表

    单向链表节点结构

    public class Node {
       public int value;
       public Node next;
       public Node(int data) {
           value = data;
      }
    }

    双向链表

    双向链表节点结构
    public class DoubleNode {
       public int value;
       public DoubleNode last;
       public DoubleNode next;

       public DoubleNode(int data) {
           value = data;
      }
    }

    单链表和双链表如何反转

        /**
        * 单链表反转
        * @param head
        * @return
        */
       private static Node reverseNodeList(Node head) {
           Node pre=null;
           Node next=null;
           while(head!=null){
               next=head.next;
               head.next=pre;
               pre=head;
               head=next;
          }
           return pre;
      }
       /**
        * 双链表反转
        * @param head
        * @return
        */
       public static DoubleNode reverseDoubleNode(DoubleNode head){
           DoubleNode pre=null;
           DoubleNode next=null;
           while(head!=null){
               next=head.next;
               head.next=pre;
               head.last=next;
               pre=head;
               head=next;
          }
           return pre;
      }

    把给定值都删除

        /**
        * 删除链表中的某一个值
        * @param head
        * @param num
        * @return
        */
       public static Node deleteNode(Node head,int num){
           while (head!=null){
               if (head.value!=num){   //头结点是否需要删除
                   break;
              }
               head=head.next;
          }
           Node pre=head;
           Node next=head;
           while(next!=null){
               if (next.value==num){
                   pre.next=next.next;
              }else{
                   pre=next;
              }
               next=next.next;
          }
           return head;
      }



  • 相关阅读:
    C# WinForm开发系列 Socket/WCF/Rometing/Web Services
    .net(c#) 简单的软件注册功能的实现:
    来自xici网友的Ubuntu和windows xp的Super PI性能测试
    最新的Linpack测试指南-基于woodcrest机器
    CFX x86_64 version issues 无法找到可执行文件
    如何检查一个mvapich的版本?
    Intel Tools Training Notes Intel Compiler, MKLs
    Infiniband IPoIB Debug FAQ
    让CFX的license server在开机的时候就自动启动
    FFTW 3.1.2 和 2.1.5编译
  • 原文地址:https://www.cnblogs.com/wangyang1991/p/15188270.html
Copyright © 2011-2022 走看看