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 ( ) ;
}
}