0
点赞
收藏
分享

微信扫一扫

Java 双向链表

_karen 2022-08-01 阅读 75

public class TwoLinkNode
{
public int data; public TwoLinkNode prior, next;
public TwoLinkNode(int k)
{
data = k; prior = next = null;
}
public TwoLinkNode()
{
this(0);
} public static void main(String args[]) {
int n = 5;
TwoLinkNode head = create(n);
insert(head, 3, 30);
n=n+1;

delete(head,4);
n=n-1;

TwoLinkNode p = head;
System.out.print(p.data + " ");
for (int i = 0; i < n - 1; i++) {
p = p.next;
System.out.print(p.data + " ");
} System.out.println();
for (int i = 0; i < n; i++) {
System.out.print(p.data + " ");
p = p.prior;
} }
public static TwoLinkNode create(int n) {
TwoLinkNode p, head = new TwoLinkNode();
head.data = (int) (100 * Math.random()); p = head;
for (int i = 0; i < n - 1; i++) {
TwoLinkNode newNode = new TwoLinkNode((int) (100 * Math.random()));
newNode.prior = p;
p.next = newNode;
p = newNode;
} return head;
} public static void insert(TwoLinkNode head,int n,int data){
TwoLinkNode p=head;
for(int i=0;i<n-1;i++)
{
p=p.next;
}

TwoLinkNode newNode=new TwoLinkNode(data);
p.next.prior=newNode;
newNode.next=p.next;
p.next=newNode;
newNode.prior=p;

}

public static void delete(TwoLinkNode head,int n)
{
TwoLinkNode p=head;
for(int i=0;i<n-1;i++)
{
p=p.next;
}

p.prior.next=p.next;
p.next.prior=p.prior;
p.next=null;
p.prior=null;


}
}

举报

相关推荐

0 条评论