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

📄 elemlist.java

📁 DATA STRUCTURE LABS
💻 JAVA
字号:
public class ElemList {
	newElem head;
	newElem last;
//	*********************************************
	
	public ElemList(){
		/*initialize the head and last elements to null */
		head = null;
		last = null;
	 }
	
//	*********************************************	

	public void insertFirst(newElem el)
	 {
		if(emptyList()){
			last = el;
			head = el;
			last.setNext(head);
			head.setNext(last);
		  }
		else {
			head.setLast(el);
			el.setNext(head);
			el.setLast(last);
			head = el;
			last.setNext(head);
		}

	 }
	
//	*********************************************	
	
	public boolean emptyList()
	 {
	  return head == null;
	 }
	
//	*********************************************
	
	public int length(){	
	 int cnt = 0;
	 newElem e = head;
	 while (e != last)
	 {
	  cnt++; e = e.getNext();	 
	 }
	 cnt++;
	 if(head == null)	return 0;
	 else	return cnt;
	}
	
//	*********************************************
	/*sorting method*/
	public void sortbyDirection()
	{	
		int i;
		newElem l = head;
		newElem temp,next,end=last,begin = null;
		int n = (int) this.length();
		for(int j = 1;j<n-1;j++){
			for(i=0;i<n-j;i++){
				temp = l.getNext();
				next = temp.getNext();
				if(l.getDistance()>=temp.getDistance()){				
					temp.setNext(l);
					l.setLast(temp);
					l.setNext(next);
					next.setLast(l);				
					end.setNext(temp);
					temp.setLast(end);
					if(i==0){
						begin = temp;
					}
				}
				else {
					if(i==0){
						begin = l; 
						}
					l = l.getNext();
				}	
				end = end.getNext();	
			}
			l=begin;
			end = begin.getLast();
		}
		head = begin;
		last = begin.getLast();
	}
	


//	*********************************************	
	public void delete(newElem h){
		newElem temp = this.getHead();
		for (int i = 0;i<this.length();i++){
			if(temp.equals(h)){
				if(i==0){
					last.setNext(temp.getNext());
					this.setHead(temp.getNext());
				}
				else if(i==this.length()-1){
					temp.getLast().setNext(temp.getNext());
					this.setLast(temp.getLast());
				}
				else 
					temp.getLast().setNext(temp.getNext());
			}
			temp = temp.getNext();
		}
	}
//	*********************************************
	public void setLast(newElem h) {  last = h;	 }
	public newElem getLast() {  return last; }
	
	public void setHead (newElem h) {  head = h;	 }
	public newElem getHead() {  return head; }

//	*********************************************
	
	public String toString()
	 {
		  String s = "";
		  newElem e;
		  e = head;
		  for(int i =0;i<this.length();i++)
			  {
			   s = s + e; e = e.getNext();	  
			  }
		  s+="*****************************************\n";
		  return s;
	 }
}

//*********************************************

⌨️ 快捷键说明

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