链表的Java语言实现
一、定义节点类
class Node{
int v;//节点值
Node next;//下一个节点
}Node(int value){
v = value;
}二、创建链表
三、链表的基本操作
1. 遍历
2. 插入节点
3. 替换节点
4.删除节点
其他
最后更新于
class Node{
int v;//节点值
Node next;//下一个节点
}Node(int value){
v = value;
}最后更新于
class Node{
int v;//节点值
Node next;//下一个节点
Node(int value){
v = value;
}
}
class node_in_java {
public static void main(String[] args){
Node node_first = new Node(0); //新建起始点
Node node_now = node_first; //
for(int i =1;i<=5;i++){ //新建几个node连在一起
Node new_node = new Node(i); //新建Node对象
node_now.next = new_node; //连接新节点
node_now = new_node; //重设下一个要连接的节点
}
}
}node_now = node_first;
System.out.println(node_now.v); //首节点单独输出
while(node_now.next != null){
node_now = node_now.next; //切目标节点为下一个
System.out.println(node_now.v); //输出当前节点值
}static void insert(int v,int num,Node start){
//插入节点,在第n个节点(0开始)后插入值为v的点
int count = 0;
Node now = start;
while(count != num){
now = now.next;
count++; //找到目标节点
}
Node target_next = now.next; //存下目标节点的下一个节点等待接回
Node new_node = new Node(v);
now.next = new_node;
new_node.next = target_next;
}insert(233 ,2,node_first);static void replace(int v, int num, Node start){
//替换节点,把num号节点换成值为v的新节点
int count = 0;
Node now = start;
while(count != num-1){ //注意到目标前一个就可以停了
now = now.next;
count++;
}
Node new_node = new Node(v); //建新节点
new_node.next = now.next.next; //先改被替换点前面那个点的指针
now.next = new_node; //再把目标节点换掉
new_node.v = v; //记得赋值
}static void delete(int num, Node start){
//删除节点
int count = 0;
Node now = start;
while(count != num-1){ //注意到目标前一个就可以停了
now = now.next;
count++;
}
now.next = now.next.next; //优雅而简洁
}