赞
踩
虽然链表有序,但是它是以节点形式存储的,位置不连续。每个节点存data和下一个节点的地址
链表分为有头节点的和没头节点的。
示例代码:
节点设置:
- package single_link;
-
- public class Node {
- private int num;
- private String name;
- private String nickname;
- private Node next;
- public Node(int num,String nickname,String name) {
- this.name=name;this.num=num;this.nickname=nickname;
- }
- public int getNum() {
- return num;
- }
- public void setNum(int num) {
- this.num = num;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getNickname() {
- return nickname;
- }
- public void setNickname(String nickname) {
- this.nickname = nickname;
- }
-
- public Node getNext() {
- return next;
- }
- public void setNext(Node next) {
- this.next = next;
- }
- public String toString() {
- return nickname+name;
- }
- }

链表设置:
- package single_link;
-
- public class linked_list {
- private Node headNode=new Node(0,"","") ;
- //新建链表时加入元素,加到链表末尾
- public void add(Node newNode) {
- Node tmp=headNode;
- while (true) {
- if (tmp.getNext()==null) {
- break;
- } else {
- tmp=tmp.getNext();
- }
- }
- tmp.setNext(newNode);
- }
- //展示链表
- public void showList() {
- if (headNode==null) {
- System.out.println("null");
- }
- System.out.println(headNode);
- Node tmp=headNode;
- while (tmp.getNext()!=null) {
- System.out.println(tmp.getNext());
- tmp=tmp.getNext();
- }
- }
- //将一个节点以num的顺序加入到链表中
- public void insert(Node newNode) {
- Node tmp=headNode;
- while (tmp.getNum()<newNode.getNum()&&tmp.getNext()!=null) {
- if (tmp.getNext().getNum()>newNode.getNum()) {
- newNode.setNext(tmp.getNext());
- tmp.setNext(newNode);
- return;
- }else {
- tmp=tmp.getNext();
- }
- }
- tmp.setNext(newNode);
- }
- //修改某个编号
- public void modify(int num,String nickname,String name) {
- Node tmp=headNode;
- while (tmp!=null) {
- if (tmp.getNum()==num) {
- tmp.setNickname(nickname);
- tmp.setName(name);
- return;
- } else {
- tmp=tmp.getNext();
- }
- }
- System.out.println("查无此人");
- }
- //删除某个编号
- public void del(int num) {
- if (headNode.getNum()==num) {
- headNode=headNode.getNext();
- return;
- }
- Node tmp=headNode;
- while (tmp.getNext()!=null) {
- if (tmp.getNext().getNum()==num) {
- tmp.setNext(tmp.getNext().getNext());
- return;
- } else {
- tmp=tmp.getNext();
- }
- }
- System.out.println("查无此人");
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。