public class Duilie {
// 创建头节点
public static void main(String[] args) {
// TODO Auto-generated method stub
Node hear = new Node(" ");
Lianbiao l = new Lianbiao(hear);
Node num1 = new Node("no.1");
l.add(num1);
Node num2 = new Node("no.2");
l.add(num2);
Node num3 = new Node("no.3");
l.add(num3);
Node num4 = new Node("no.4");
l.add(num4);
Node num5 = new Node("no.5");
l.add(num5);
System.out.print("经过重复添加获得:");
l.bianli();
System.out.print("将元素内容no.6添加到no.3后面得:");
Node num6 = new Node("no.6");
l.add(num6);
l.bianli();
System.out.print("删除元素得:");
l.del();
l.bianli();
System.out.print("删除元素得:");
l.del();
l.bianli();
l.chazhao(3);
l.chazhao("no.3");
l.del();
l.bianli();
l.del();
l.bianli();
l.del();
l.bianli();
l.del();
l.bianli();
l.del();
l.bianli();
}
}
class Node {
String data;
Node next = null;
Node(String data) {
this.data = data;
}
public String getdata() {
return data;
}
public Node getnext() {
return next;
}
public void setnext(Node next) {
this.next = next;
}
}
class Lianbiao {
Node hear = null;
Node tail = null;
Node prenode = null;
int a = 0; // 记录列表长度
Lianbiao(Node hear) {
this.hear = hear;
tail = hear;
prenode = hear;
}
public Node gethear() {
return hear;
}
// 链表元素的添加
public void add(Node node) {
node.setnext(prenode.getnext());
prenode.setnext(node);
prenode = node;
a++;
}
// 元素的删除
public void del() {
if (hear.getnext() == null)
System.out.println("队列中已经没有元素");
else{
hear.setnext(hear.getnext().getnext());
a--;
}
}
// 元素内容查找(根据位置查找内容)
public void chazhao(int i) {
if (i > a)
System.out.println("列表长度不足");
else {
Node n = hear;
System.out.print("位置" + i + "结点内容为:");
while (i > 0) {
if (i == 1) {
System.out.println(n.getnext().getdata());
}
n = n.getnext();
i--;
}
}
}
// 元素内容查找(根据内容查找位置)
public void chazhao(String str) {
Node n = hear;
int i = 0, j = 0;
while (n != null) {
if (n.getdata() == str) {
System.out.print("内容" + str + "结点位置为:" + i + " ");
j = 1;
}
i++;
n = n.getnext();
}
if (j == 0) {
System.out.println("没有找到内容" + str + "的结点");
} else {
System.out.println();
}
}
// 遍历输出列表
public void bianli() {
Node n = hear;
while (n != null) {
System.out.print(n.getdata() + " ");
n = n.getnext();
}
System.out.println();
}
}
*原创作品,转载请表明出处。有建议或者问题欢迎联系我,QQ1595787997