链表是一种基本的数据结构,与数组相比链表存储数据更为灵活。在本实例中,实现的是链表结构,使用Java语言实现。
链表类的设计,链表由链节点构成,每个链节点分别由数据域(value)和节点域(next)组成,数据域用于存储数据,节点域用于指向下一个节点。
class Node{
int value;
Node next;
public Node(
int data){
this.
value=data;
}
}
public class LinklistNode {
Node node;
public LinklistNode(){
this.node=
null;
}
public Node
initLinklist(
int data){
Node temp;
temp=
new Node(data);
temp.next=
this.node;
this.node=temp;
return this.node;
}
public void addNode(
int data){
Node temp;
temp=
new Node(data);
temp.next=
this.node;
this.node=temp;
temp=
null;
}
public int selectNode(
int pos){
Node current;
int p=
0;
current=
this.node;
while(p<=pos-
1&¤t!=
null){
current=current.next;
p++;
}
return current.
value;
}
public int deleteNode(){
Node temp;
temp=
this.node;
this.node=temp.next;
return temp.
value;
}
public void printLinklistNode(){
Node current;
current=
this.node;
while(current!=
null){
System.
out.print(current.
value+
" ");
current=current.next;
}
}
}
测试主函数代码
public class testLinklist {
public static void main(String[] args) {
LinklistNode head=
null;
head=
new LinklistNode();
head.initLinklist(
5);
for(
int i=
0;i<
5;i++){
head.addNode(i);
}
head.printLinklistNode();
System.
out.println();
head.deleteNode();
head.printLinklistNode();
System.
out.println();
head.deleteNode();
head.printLinklistNode();
System.
out.println();
System.
out.println(
"pos 2 value:"+head.selectNode(
2));
}
}
测试效果图示:
转载请注明原文地址: https://ju.6miu.com/read-1202096.html