public class LinkedArray {
public static void main(String[] args){
Node head=null;
head=pushFront(head,3);
head=pushFront(head,2);
head=pushFront(head,1);
Print(head);
head=pushBack(head,4);
head=pushBack(head,5);
head=pushBack(head,6);
Print(head);
head=popFront(head);
head=popFront(head);
Print(head);
head=popBack(head);
Print(head);
Node pos=head.next;
head=pushAfter(head,pos,9);
Print(head);
}
private static Node pushFront(Node head,int val){//头插
Node node=new Node(val);
node.next=head;
head=node;
return head;
}
private static Node pushBack(Node head,int val){//尾插
Node node=new Node(val);
if(head==null)
{
return head=node;
}
else
{
Node last=head;
while(last.next!=null)
{
last=last.next;
}
last.next=node;
}
return head;
}
private static Node popFront(Node head){//头删
if(head==null)
{
return null;
}
return head=head.next;
}
private static Node popBack(Node head){//尾删
if(head==null||head.next==null)
{
return null;
}
else
{
Node last=head;
while(last.next.next!=null)
{
last=last.next;
}
last.next=null;
}
return head;
}
private static Node pushAfter(Node head,Node pos,int val){//在指定位置插入指定结点
Node node=new Node(val);
node.next=pos.next;
pos.next=node;
return head;
}
private static void Print(Node head){//打印
for(Node cur=head;cur!=null;cur=cur.next)
{
System.out.print(cur+"-->");
}
System.out.println("null");
}
}
class Node{
int val;
Node next;
public Node(int val){
this.val=val;
this.next=next;
}
public String toString(){
return String.format("Node(%d)-->",val);
}
}
链表的头插,尾插,头删,尾删和指定位置的插入
最新推荐文章于 2023-12-25 09:47:47 发布