资讯详情

算法小记-链表

一 链表定义

一组分散的内存块通过指针串联在一起。

二 特点

(1)不需要连续的内存空间。

(2)引用指针

(3)三种最常见的链表结构:单链表、双向链表和循环链表

三 单链表

头节点和最后一个节点。头节点用来记录链表 基地址。尾节点 指向下一个空地址null

四 循环链表

尾节点指针指向链表 的头节点

五 双向链表

它支持两个方向,每个结点都有一个以上的针next指向后面的结点,还有一个前驱指针prev指向前面的结点

基本操作

package yrz;  public class LinkedList {   private Node head ;     public void addHead(int data) {   Node headNode = new Node(data);   headNode.next = head;   head = headNode;  }    public void addMiddleData(int index,int data) {   if(index == 0) {    addHead(data);   }else {    Node headNode = new Node(data);    Node cur = head ;    for(int i = 0; i<index ; i   ) {     cur = head.next;    }    headNode.next = cur.next;    cur.next = headNode;   }  }    public void deleteHeadNode() {   head = head.next;  }    public void deleteMiddleData(int index) {   if(index == 0) {    deleteHeadNode();   }else {    Node cur = head;    for(int i=0;i<index;i  ) {     cur = head.next;    }    cur.next = cur.next.next;    cur.next.next = null;   }  }    public void print() {   Node cur = head;   while(cur!=null) {    System.out.print(cur.value);    cur = cur.next;   }  }    public void main(String[] args) {   LinkedList list = new LinkedList();   list.addHead(2);   list.addHead(1);   list.addHead(0);   list.print();  } }    class Node{   Node next; ///指向下一个节点的指针   int value; //节点值    Node(int value){   this.value = value ;    this.next = next ;  } } 

标签: ad7819yrz集成电路ic

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司