import java.util.Scanner;
public class LinkList{
private int num = 0;
private class Node{
String elem;
Node next;
public Node(){
this.elem = null;
this.next = null;
}
}
private Node getNode(){
return new Node();
}
private Node LinkListInit(){
System.out.println("初始化线性链表");
Node root = new Node();//构造头节点
root.elem = "根节点";
for(int i = 0 ; i < 10 ; i++){
Node node = new Node();
node.elem = "第" + i + "节点";
node.next = root.next;
root.next = node;
root.elem = "一共" + i + "节点";
}
return root;
}
private void outPut(Node root){
for(int i = 0 ; i < 10 ; i++){
if(root != null){
System.out.println(root.elem);
root = root.next;
}
}
}
private Node deleteLinkList(Node root){
Node ret = new Node();
ret = root;
Scanner scanner = new Scanner(System.in);// 创建输入流扫描器
System.out.println("请输入需要删除元素的位置:");// 提示用户输入
int space = scanner.nextInt();// 获取用户输入的一行文本
if(ret != null) {
for(int i = 1 ; i < space ; i++){
if(ret == null){
System.out.println("你输入的位置不正确:");
return root;
}
ret = ret.next;
}
}
else{
System.out.println("请输入的位置不正确:");
}
ret.next = (ret.next).next;
num++;
root.elem = "一共" + (9 - num) + "节点" ;
return root;
}
public static void main(String[] args){
LinkList link = new LinkList();
Node root = link.getNode();
root = link.LinkListInit();//初始化链表
link.outPut(root);//打印出每个节点值
root = link.deleteLinkList(root);
link.outPut(root);//打印出每个节点值
}
}