双向循环链表

<p><span style="font-size:32px;"><strong style="background-color: rgb(153, 153, 255);">双向循环链表</strong></span></p><p>1、每个节点的next域构成了一个循环单链表</p><p>2、每个节点的prev域构成了另一个循环单链表</p><p><span style="font-size:32px;color:#ff0000;">add</span></p><img src="data:image/png;base64,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BOLreH7+0NjMX/OKp+/luuTdI8ea3Ug/ksIaAQIEuiog2Ooqp8wIEOibwMqrGxcd7+X6wDtGji2ueZ3PyF5rBAgQSExAsJUYrYwJEOipQJwe/O+lacNfPza22Gc/c2Tf6185sm6NAAECPRAQbPUAWREECPRIIL625x0ffvqZWpUHmcbgKz7yIU4fbrg+hNrAq0fVUgwBAsUWmFzs5ms9AQK5EYh/gXjYQAg/+VkI/3L308/Vio2LL6Cef3wIn/mIQCs3na0hBLIlINjKVn+pLQECjQT2rB/Ze+KcEOLnoreP7LNGgACBPgqYRuwjvqIJECBAgACB/AsY2cp/H2shgcwIDM0tPcLBQoAAgZwJGNnKWYdqDgECBAgQIJAuAcFWuvpDbQgQIECAAIGcCUzaU1py1ibNIUCAAAECBAikRsDIVmq6QkUIECBAgACBPAoItvLYq9pEgAABAgQIpEZAsJWarlARAgQIECBAII8Cgq089qo2ESBAgAABAqkREGylpitUhAABAgQIEMijgGArj72qTQQIECBAgEBqBARbqekKFSFAgAABAgTyKCDYymOvahMBAgQIECCQGgHBVmq6QkUIECBAgACBPAoItvLYq9pEgAABAgQIpEZAsJWarlARAgQIECBAII8Cgq089qo2ESBAgAABAqkREGylpitUhAABAgQIEMijgGArj72qTQQIECBAgEBqBARbqekKFSFAgAABAgTyKCDYymOvahMBAgQIECCQGgHBVmq6QkUIECBAgACBPAoItvLYq9pEgAABAgQIpEZAsJWarlARAgQIECBAII8Cgq089qo2ESBAgAABAqkREGylpitUhAABAgQIEMijgGArj72qTQQIECBAgEBqBARbqekKFSFAgAABAgTyKCDYymOvahMBAgQIECCQGgHBVmq6QkUIECBAgACBPAoItvLYq9pEgAABAgQIpEbg/wMZiq6hEuHBewAAAABJRU5ErkJggg==" width="400" height="200" alt="" />
package exp1;

import java.util.Scanner;

class TwoWayLinkedListNode<AnyType> {
	AnyType data;
	TwoWayLinkedListNode<AnyType> pre;
	TwoWayLinkedListNode<AnyType> next;
	public TwoWayLinkedListNode(AnyType data){
		this.data=data;
		this.pre=null;
		this.next=null;
	}
	public TwoWayLinkedListNode(AnyType data,TwoWayLinkedListNode<AnyType> pre){
		this.data=data;
		this.pre=pre;
		this.next=null;
	}
	public TwoWayLinkedListNode(AnyType data,TwoWayLinkedListNode<AnyType> pre,TwoWayLinkedListNode<AnyType> next){
		this.data=data;
		this.pre=pre;
		this.next=next;
	}
public class TwoWayLinkedList<AnyType> {
	public TwoWayLinkedListNode firstNode;
	public TwoWayLinkedListNode lastNode;
	public TwoWayLinkedList(){
		firstNode=null;
	}
	public boolean insertNode(int idx,AnyType data){
		if(idx==1){
			insertFirstNode(data);
			return true;
		}
		else{
			TwoWayLinkedListNode <AnyType>p=firstNode;
			int j=0;
			for(j=0;j<idx-1&&p!=null;j++){
				p=p.next;
			}
			if(j==idx-1){
				TwoWayLinkedListNode<AnyType> q=p.pre;
				TwoWayLinkedListNode<AnyType> tmp=new TwoWayLinkedListNode(data,null,null);
				q.next=tmp;
				tmp.pre=q;
				tmp.next=p;
				p.pre=tmp;
				return true;
			}
			else{
				System.out.println("插入超过范围");
				return false;
			}
		}
	}
	public void add(AnyType data){
		TwoWayLinkedListNode<AnyType> p=firstNode;
		if(p==null){
			TwoWayLinkedListNode<AnyType> tmp=new TwoWayLinkedListNode<AnyType>(data,null,null);
			tmp.pre=tmp;
			tmp.next=tmp;
			firstNode=tmp;
		}
		else{
			insertLastNode(data);
		}
	}
	public void insertFirstNode(AnyType data){
		TwoWayLinkedListNode<AnyType> p=firstNode;
		TwoWayLinkedListNode<AnyType> tmp=new TwoWayLinkedListNode<AnyType>(data,p.pre,p);
		p.pre.next=tmp;
		p.pre=tmp;
		firstNode=tmp;
	}
	public void insertLastNode(AnyType data){
		TwoWayLinkedListNode<AnyType> p=firstNode;
		TwoWayLinkedListNode<AnyType> q=p.pre;
		TwoWayLinkedListNode<AnyType> tmp=new TwoWayLinkedListNode(data,q,p);
		q.next=tmp;
		p.pre=tmp;
	}
	public boolean deleteNode(int idx){
		if(idx==1){
			TwoWayLinkedListNode<AnyType> p=firstNode;
			p.pre.next=p.next;
			p.next.pre=p.pre;
			firstNode=p.next;
			return true;
		}
		else{
			TwoWayLinkedListNode<AnyType> p=firstNode;
			int j=0;
			for(j=0;j<idx-1&&p!=null;j++){
				p=p.next;
			}
			if(j==idx-1){
				p.next=p.next.next;
				p.next.pre=p;
				return true;
			}
			else{
				System.out.println("删除的元素不存在");
				return false;
			}
			}
		}

public void print(){
	TwoWayLinkedListNode<AnyType> p=firstNode;
	System.out.print(p.data+" ");
	p=p.next;
	while(p!=firstNode){
		System.out.print(p.data+" ");
		p=p.next;
	}
	System.out.println();
}
public void reverse(){  
    TwoWayLinkedListNode p=firstNode;
    while(p.next!=firstNode){  
        TwoWayLinkedListNode q=p;  
        TwoWayLinkedListNode r=p.next;  
        q.next=q.pre;  
        q.pre=r;  
        p=p.pre;  
    }  
    TwoWayLinkedListNode q=p;  
    TwoWayLinkedListNode r=p.next;  
    q.next=q.pre;  
    q.pre=r;  
    TwoWayLinkedListNode s=firstNode;  
    firstNode=lastNode;  
    lastNode=s;  
      
    int i=0;  
    for(TwoWayLinkedListNode x=firstNode.next;x!=lastNode;x=x.next){  
        System.out.println(i+": "+x.data);  
        i++;  
    }  
    i=0;  
}  
public void main(String args[]){
	TwoWayLinkedList<Integer> my=new TwoWayLinkedList();
	int len,a;
	System.out.println("请输入链表的长度:");
	Scanner cin=new Scanner(System.in);
	len=cin.nextInt();
	System.out.println("请输入链表的各个点:");
	for(int i=0;i<len;i++){
		a=cin.nextInt();
		my.add(a);
	}
	int pos,val;
	System.out.println("请输入要插入的点的位置和值:");
	pos=cin.nextInt();
	val=cin.nextInt();
	my.insertNode(pos+1,val);
	System.out.println("链表的顺序是:");
	my.print();
	System.out.println("请输入要删除的位置:");
	pos=cin.nextInt();
	System.out.println("链表的顺序是:");
	my.deleteNode(pos+1);
	my.print();
	System.out.println("请输入要插入第一个顶点的值:");
	val=cin.nextInt();
	my.insertFirstNode(val);
	System.out.println("链表的顺序是:");
	my.print();
	System.out.println("请输入要插入最后一个顶点的值:");
	val=cin.nextInt();
	my.insertLastNode(val);
	System.out.println("链表的顺序是:");
	my.print();
	System.out.println("就地逆转之后的链表的顺序是:");
	my.reverse();
	my.print();}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值