public class NodeDemo {
public int data;
public String name;
public String nickName;
public NodeDemo next;
public NodeDemo(int data, String name, String nickName) {
this.data = data;
this.name = name;
this.nickName = nickName;
}
@Override
public String toString() {
return "Node{" +
"data=" + data +
", name='" + name + '\'' +
", nickName='" + nickName + '\'' +
'}';
}
}
package com.xkp.data.LinkerList;
public class SingleLinkedList {
private NodeDemo head = new NodeDemo(0, "", "");
public void add(NodeDemo nodeDemo) {
NodeDemo temp = head;
while (true) {
if (null == temp.next) {
break;
}
temp = temp.next;
}
temp.next = nodeDemo;
}
public void addByOrder(NodeDemo nodeDemo){
NodeDemo temp = head;
boolean flag=false;
while (true){
if(temp.next==null){
break;
}
if(temp.next.data>nodeDemo.data){
break;
}
if(temp.next.data == temp.data){
System.out.println("已经存在");
flag=true;
break;
}
temp=temp.next;
}
if(flag){
System.out.println("数据已经存在");
}else{
nodeDemo.next=temp.next;
temp.next=nodeDemo;
}
}
public void show() {
if (head.next == null) {
System.out.println("链表为空");
return;
}
NodeDemo temp = head.next;
while (true) {
if (null == temp) {
break;
}
System.out.println(temp.toString());
temp = temp.next;
}
}
public void update(NodeDemo nodeDemo) {
if (head.next == null) {
System.out.println("链表为空");
return;
}
NodeDemo temp = head;
Boolean flag = false;
while (true) {
if (temp == null) {
System.out.println("遍历结束");
break;
}
if (temp.data == nodeDemo.data) {
flag = true;
break;
}
temp = temp.next;
}
if (flag) {
temp.name = nodeDemo.name;
temp.nickName = nodeDemo.nickName;
} else {
System.out.println("未找到该节点");
}
}
public void delete(NodeDemo nodeDemo) {
NodeDemo temp = head;
boolean flag = false;
while (true) {
if (temp.next == null) {
break;
}
if (temp.next.data == nodeDemo.data) {
flag = true;
break;
}
temp = temp.next;
}
if (flag) {
temp.next = temp.next.next;
} else {
System.out.println("结点不存在");
}
}
public static void main(String[] args) {
NodeDemo nodeDemo1=new NodeDemo(1,"宋江","及时雨");
NodeDemo nodeDemo3=new NodeDemo(3,"林冲","豹子头");
NodeDemo nodeDemo2=new NodeDemo(2,"吴用","智多星");
NodeDemo nodeDemo6=new NodeDemo(6,"卢俊义","玉狮子");
NodeDemo nodeDemo5=new NodeDemo(5,"武松","打虎英雄");
SingleLinkedList list = new SingleLinkedList();
list.addByOrder(nodeDemo1);
list.addByOrder(nodeDemo2);
list.addByOrder(nodeDemo3);
list.addByOrder(nodeDemo5);
list.addByOrder(nodeDemo6);
list.show();
}
}