⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linklist.java

📁 航空定票系统 JBUILDER 编程实现 线性表应用
💻 JAVA
字号:
package member;
public class LinkList implements List
{
	public Node head;
	private int length;
	public LinkList()
	{
		head=new Node(null);
		length=0;
		head.data=null;		
	}
	public void clear() //置空表
	{
		head.next=null;
		length=0;
	}
	public int getLength() //求表长
	{
		return length;
	}
 	public Object getEntry(int i) //取出第i个元素
 	{
 		if(length<i)
 		{
 			return null;
 		}
 		Node n=new Node();
 		n=head;
 		for(int index=0;index<i;index++)
 		{
 			n=n.next;
 		}
 		return n.data;
 	}
	public boolean isEmpty() //判表空运算
	{
		return (length==0);
	}
	public boolean add(int i, Object newEntry) //将数据元素插入线性表中第//i个元素之后
	{
		if(i>length)
		{
			return false;
		}
		if(i==length)
		{
			Node p=head;
			while(p.next!=null)
			{
				p=p.next;			
			}
			p.next=new Node(newEntry);
			length++;
			return true;
		}
		Node n=new Node();
		n=head;
		for(int index=0;index<i;index++)
		{
			n=n.next;
		}
		Node newNode=new Node(newEntry);
		newNode.next=n.next;
		n.next=newNode;
		length++;
		return true;
	}
	public Object remove(int i) //删除第i个元素,并将被删除的元素返回
	{
		if(i>length)
		{
			return false;
		}		
		Node b=new Node();
		b=head;
		for(int index=0;index<i-1;index++)
		{
			b=b.next;
		}
		Node a=new Node();
		Node result=new Node();
		result=b.next;
		a=result.next;
		b.next=a;
		length--;
		return 	result.data;
	}
	public boolean add(Object newEntry)    //将数据元素插入线性表的表头
	{
		if(this.isEmpty())
		{
			this.head.next=new Node(newEntry);
			length++;
			return true;
		}
		Node p=new Node(newEntry);
		p.next=head.next;
		head.next=p;
		length++;
		return true;
	}
/*	public static void main(String [] args)
	{		
		LinkList L=new LinkList();
		Node node=new Node();
		node=L.head;
		System.out.println("生成以下链表");
		for(int i=0;i<6;i++)
		{
			node.next=new Node((Object)i);	
			node=node.next;	
			System.out.print(node.tostring()+"    ");
		}	
		System.out.println();
		Node p=L.head.next;
		L.head.next=null;
		for(int i=0;i<6;i++)	
		{
			L.add(p.data);
			if(i<5)
			p=p.next;	
		}
		System.out.println("反转后:");
		p=L.head;
		for(int i=0;i<6;i++)	
		{
			p=p.next;
			System.out.print(p.tostring()+"    ");		
		}
		System.out.println();
		System.out.println("删除第5个结点:"+L.remove(5)+"    ");		
		System.out.println("再插入第5个结点:11");
		L.add(5,11)	;		
		p=L.head;
		for(int i=0;i<6;i++)	
		{
			p=p.next;
			System.out.print(p.tostring()+"    ");		
		}
		System.out.println();
	}*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -