//节点定义
public class Node {
//数据域
int data;//数据域,可以是任意类型
Node next;//链域,指向下一个节点
public Node(int data) {
super();
this.data = data;
this.next=null;
}
}
public class MyLink {
public static void main(String[] args) {
Node a=new Node(10);
Node b=new Node(20);
Node c=new Node(30);
Node d=new Node(40);
a.next=b;
b.next=c;
c.next=d;
Node head=a;
Node end=d;
//插入操作
//1、插入end后面
Node e=new Node(50);
end.next=e;
end=e;
//2、插入到第一节点
Node a1=new Node(5);
a1.next=head;
head=a1;
//3、插入到中间,插入到值为30的节点的前面
Node c1=new Node(25);
//先定位到30这个节点,用p1来存,然后q1来存p的前驱
Node p1=head,q1=null;
while(p1!=null&&p1.data!=30){
q1=p1;
p1=p1.next;
}
if(p1!=null){//p1就要值为30的节点,q1就是p1的前驱
c1.next=q1.next;
q1.next=c1;
}
//删除
//1、删除第一节点
head=head.next;
//2、删除最后一个节点
Node temp=head;
while(temp!=null&&temp.next!=end){
temp=temp.next;
}
System.out.println();
System.out.println(temp.data);
temp.next=null;
end=temp;
//3、删除中间节点 删除25的节点
//遍历--只已知了head
Node p=head;
while(p!=null){
System.out.print(p.data+"--");
p=p.next;//后移
}
}
}
public class Human {
private String name;
private int age;
private char sex;
private int salary;//工资
public Human(String name, int age, char sex, int salary) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.salary = salary;
}
public Human() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return name+"\t"+age+"\t"+sex+"\t"+salary;
}
}
public class HumanNode {
Human data;
HumanNode next;
public HumanNode(Human data) {
super();
this.data = data;
this.next=null;
}
}
public class HumanLinkedList {
HumanNode head;//头节点
HumanNode end;//尾节点
public HumanLinkedList(HumanNode head, HumanNode end) {
super();
this.head = head;
this.end = end;
}
//插入
//删除
//查找
//遍历
public void printLink(HumanNode head){
HumanNode p=head;
while(p!=null){
System.out.print(p.data+"--");
p=p.next;
}
}
}