JAVA实验二:设计一个带表头的双向链表(链表中数据的具体类型可以随意) 泛型

题目:设计一个带表头的双向链表(链表中数据的具体类型可以随意)

提供以下方法:
(1)insert:在某个位置插入对象;
(2)insert:在链表的最后插入对象;
(3)delete:在某个位置删除对象;
(4)delete:删除链表中与x相同的元素;
(5)size:返回当前链表中对象的个数;
(6)isEmpty:判断链表是否为空;
(7)traverse:遍历链表,打印出所有的元素;
(8)getData:取得某个位置的对象。构造main函数进行测试。

答案:

public class DoubleList//泛型(类、接口、方法
{	
///构造链表结构	
	protected Node head;//头指针
	protected Node rear;//尾指针
	protected int sum;//数目
//初始化链表
	public DoubleList()
	{
		head=new Node();//创建头结点,不能是null类型的;
		rear=new Node();//创建尾结点,不能是null类型的;
		head.next=rear;
		rear.pre=head;
		//sum=0;//错误
	}
//在某个位置插入对象;
	public boolean insert(int pos,T no)
	{
		if(pos>sum||pos<=0) 
		{
			System.out.println("Can not do the change");
			return false;
		}
		
		Node p=head;
		for(int i=0;i

你可能感兴趣的:(JAVA实验二)