}
单链表类
package LinkedList.SingleLinkedList;
public class HeroLinkedList {
// 头节点是不变的,头节点没有数据。
private HeroNode head = new HeroNode(0, "", "");
// 定义添加节点的方法
public void add(HeroNode heroNode) {
//添加一个辅助节点 用于遍历
HeroNode temp = head;
while (true) {
if (temp.next == null) {
break;
}
temp = temp.next;
}
temp.next = heroNode;
}
//修改节点数据
public void upData(HeroNode newheronode){
if (head.next==null){
System.out.println("链表为空,修改失败");
return;
}
HeroNode temp = head.next;
boolean flag = false;
while (true){
if (temp.next==null){
break;
}if (temp.number== newheronode.number){
flag =true;
break;
}
temp = temp.next;
}
if (flag){
temp.heroName = newheronode.heroName;
temp.name = newheronode.name;
}else {
System.out.println("没有找到");
}
}
//删除节点
public void del(int no){
HeroNode temp = head;
boolean flag = false;
while (true){
if (temp.next==null){
break;
}if (temp.next.number == no){
flag = true;
break;
}
temp= temp.next;
}
if (flag){
temp.next = temp.next.next;
}else {
System.out.println("没有找到这和节点");
}
}
public void addByOrder(HeroNode heroNode){
HeroNode temp = head;
boolean flag = false;//标记是否已经存在相同序号的存在
while (true){
if (temp.next==null){
break;
}else if(temp.next.number>heroNode.number){
break;
}else if (temp.next.number== heroNode.number){
flag=true;
break;
}
temp = temp.next;
}
if (flag){
System.out.println("该节点已经存在");
}else {
heroNode.next = temp.next;
temp.next = heroNode;
}
}
/*
public void show(){
if (head.next==null){
System.out.println("链表为空");
return;
}
HeroNode temp = head.next;
while (true){
if (temp == null) {
break;
}
System.out.println(temp);
temp = temp.next;
}
}
*/
public void show() {
if (head.next == null) {
System.out.println("链表为空");
return;
}
HeroNode temp = head.next;
while (true) {
System.out.println(temp);
if (temp.next == null) {
break;
}
temp = temp.next;
}
}
}
测试类
package LinkedList.SingleLinkedList;
public class SingleLinkedList {
public static void main(String[] args) {
HeroNode hero1 = new HeroNode(0,"宋江","a");
HeroNode hero2 = new HeroNode(1,"s","s");
HeroNode hero3 = new HeroNode(2,"d","d");
HeroNode hero4 = new HeroNode(3,"w","w");
HeroLinkedList linkedList = new HeroLinkedList();
// linkedList.add(hero1);
// linkedList.add(hero2);
// linkedList.add(hero3);
// linkedList.add(hero4);
HeroNode newheronode = new HeroNode(4,"gggg","sss");
linkedList.addByOrder(hero1);
linkedList.addByOrder(hero3);
linkedList.addByOrder(hero2);
linkedList.addByOrder(hero4);
linkedList.show();
System.out.println("--------");
// linkedList.upData(newheronode);
linkedList.del(3);
linkedList.del(0);
linkedList.del(1);
linkedList.del(2);
linkedList.show();
} }