package pro4;
public class A{
public static void main(String args[]) {
Hero hero1=new Hero(1,"宋江","及时雨");
Hero hero2=new Hero(6,"吴用","智多星");
Hero hero3=new Hero(3,"公孙胜","入云龙");
Hero hero4=new Hero(4,"武松","行者");
Hero newhero=new Hero(3,"林冲","豹子头");
Hero hero6=new Hero(5,"小二","酒馆");
Lined l=new Lined();
l.add(hero4);
l.add(hero3);
l.add(hero2);
l.add(hero1);
l.show();
System.out.println();
l.update(newhero);
l.show();
System.out.println();
l.charu(hero6);
l.show();
System.out.println();
l.del(hero3);
l.show();
}
}
class Lined{
Hero head=new Hero(0,"","") ;
//按序号增加列表
public void add(Hero hero) {
Hero temp=head;
boolean flag=false;
while(true) {
if(temp.next==null) {
break;
}
if(temp.next.no>hero.no) {
break;
}
if(temp.next==hero.next) {
flag=true;
break;
}
temp=temp.next;
}
if(flag) {
System.out.println("重了%d"+hero.no);
}else
hero.next=temp.next;
temp.next=hero;
}
//修改列表
public void update(Hero newhero) {
Hero temp=head;
if(temp.next==null) {
System.out.println("空");
}
boolean flag=false;
while(true) {
if(temp.next==null) {
break;
}
if(temp.no==newhero.no) {
flag=true;
break;
}
temp=temp.next;
}
if(flag) {
temp.name=newhero.name;
temp.nickname=newhero.nickname;
}
}
//插入
public void charu(Hero hero) {
Hero temp=head;
if(temp.next==null) {
System.out.println("空");
}
boolean flag=false;
while(true) {
if(temp.next==null) {
break;
}
if(temp.next.no>hero.no) {
break;
}
if(temp.next.no==hero.no) {
flag=true;
break;
}
temp=temp.next;
}
if(flag) {
System.out.printf("重了%d",hero.no);
}else
{
hero.next=temp.next;
temp.next=hero;
}
}
public void del(Hero hero) {
Hero temp=head;
if(temp.next==null) {
System.out.println("空");
}
boolean flag=false;
while(true) {
if(temp.next==null) {
break;
}
if(temp.next.no==hero.no) {
flag=true;
break;
}
temp=temp.next;
}
if(flag) {
temp.next=temp.next.next;
}
}
//输出列表
public void show() {
Hero temp=head;
if(temp.next==null) {
System.out.println("空");
}
while(true) {
if(temp.next==null) {
break;
}
temp=temp.next;
System.out.println(temp);
}
}
}
class Hero{
int no;
String name;
String nickname;
Hero next;
Hero(int no,String name,String nickname){
this.no=no;
this.name=name;
this.nickname=nickname;
}
public String toString() {
return "Hero [no=" + no + ", name=" + name + ", nickname=" + nickname + "]";
}
}
结果:
Hero [no=1, name=宋江, nickname=及时雨]
Hero [no=3, name=公孙胜, nickname=入云龙]
Hero [no=4, name=武松, nickname=行者]
Hero [no=6, name=吴用, nickname=智多星]
Hero [no=1, name=宋江, nickname=及时雨]
Hero [no=3, name=林冲, nickname=豹子头]
Hero [no=4, name=武松, nickname=行者]
Hero [no=6, name=吴用, nickname=智多星]
Hero [no=1, name=宋江, nickname=及时雨]
Hero [no=3, name=林冲, nickname=豹子头]
Hero [no=4, name=武松, nickname=行者]
Hero [no=5, name=小二, nickname=酒馆]
Hero [no=6, name=吴用, nickname=智多星]
Hero [no=1, name=宋江, nickname=及时雨]
Hero [no=4, name=武松, nickname=行者]
Hero [no=5, name=小二, nickname=酒馆]
Hero [no=6, name=吴用, nickname=智多星]