실현 링크

4493 단어 데이터 구조
결점 류
링크 클래스
package com.java.LinkList;
public class Node {
	public int data;
	public Node next;
	public Node(Node next) {
		this.next=next;
	}
	public Node(int data){
		this.data=data;	
	}
}

테스트 클래스
package com.java.LinkList;

import com.java.linkStack.linkStack;

public class LinkList {
	private Node head;
	private Node curnode;
	public LinkList() {
		head=new Node(null);
		curnode=head;
	}
	
	public void addNodeLast(int data){
		Node node=new Node(data);
		curnode=head;
		while(curnode.next!=null){
			curnode=curnode.next;
		}
		curnode.next=node;
		
	}
	
	public void addFirst(int data){
		Node node=new Node(data);//     		
		node.next=head.next;
		head.next=node;
		
	}
	
	public void  add(int index,int data){
		if(index>this.size()||index<0){
			System.out.println("      ");
			return;
		}
		int count=0;
		curnode=head;
		Node temp=null;
		if(index==0) this.addFirst(data);
		else{
			temp=curnode.next;
			while(temp!=null){	
				curnode=temp;
				temp=temp.next;
				count++;
			if(count==index){
				Node node=new Node(data);
				node.next=curnode.next;
				curnode.next=node;
				break;
				}			
			}
		}	
	}
	
	
	public void peek(){
		curnode=head;
		while(curnode.next!=null){
			curnode=curnode.next;
		}
		System.out.println(curnode.data);
	}
	
	public int size(){
		int size=0;
		curnode=head;
		while(curnode.next!=null){
			curnode=curnode.next;
			size++;
		}
		return size;
	}
	
	public void display(){
		curnode=head;
		while(curnode.next!=null){
			System.out.println(curnode.next.data);
			curnode=curnode.next;	
		}
	}
	
	
	public void addNode(int data1,int data2){
		Node temp=head;
		if(temp.next==null)System.out.println("    ,   "+data1);
		while(temp.next!=null){
			if(temp.next.data==data1){
				Node node=new Node(data2);				
				node.next=temp.next;
				temp.next=node;
				break;
			}
			if(temp.next.next!=null){
				temp=temp.next;
			}else{
				System.out.println("       "+data1+"   ");
				break;
			}
		}	
	}
	public void clear(){
		if(head.next==null){
			throw new RuntimeException("      ");
		}
		Node temp=null;	
		while(head.next!=null){ //       ,           
			temp=head.next;
			head.next=temp.next;
			temp.next=null;
		}
		
	}
	
	public void deleteFirst(){
		if(head.next==null){
			throw new RuntimeException("    ,   ");
		}
		Node temp=head.next;
		head.next=head.next.next;
		temp.next=null;//          
	}
	
	public int get(int index){
		if(head.next==null){
			throw new RuntimeException("    ");//             
		}                                       //        ,           
												//              ,    
		if(index>(this.size()-1)||index<0){
			throw new RuntimeException("         ");
		}
		int count=0;	//      							   
		curnode=head.next;
		while(curnode!=null){
			if(count==index){				
				break;
			}
			count++;
			curnode=curnode.next;
		}
		return curnode.data;
	}
	
	public void delete(int index){
		if(head.next==null){
			throw new RuntimeException("    ");//             
		}											   //        ,           
		int count=0;								   //              ,     
		boolean bl=false;
		curnode=head;
		while(curnode.next!=null){
			if(count==index){
				Node temp=curnode.next;
				curnode.next=curnode.next.next;
				temp.next=null;
				bl=true;
				break;
			}
			count++;
			curnode=curnode.next;
		}
		if(bl==false)System.out.println("          ");
	}
	
	public void deleteNode(int data){
		Node temp=head;
		if(temp.next==null)System.out.println("    ,    !");
		while(temp.next!=null){
			curnode=temp.next;
			if(curnode.data==data){
				temp.next=curnode.next;
				curnode.next=null;
				break;
			}
			if(curnode.next!=null){
				temp=curnode;
				curnode=curnode.next;
			}else{
				System.out.println("      ,    !");
				break;
			}
		}
		
	}
	
	public void overTurnList(){
		if(head.next==null){
			throw new RuntimeException("    ");
		}
		Node curnode=head.next;
		head.next=null;
		Node temp=null;
		while(curnode!=null){
			temp=curnode.next;
			curnode.next=head.next;
			head.next=curnode;
			curnode=temp;
			
		}
		
	}
}

결실
링크 가 비어 있 습 니 다. 삭제 에 실 패 했 습 니 다!3. 45 링크 길이 가 3 이 고 데이터 값 이 2 인 노드 를 삭제 합 니 다. 이 노드 를 찾 지 못 했 습 니 다. 삭제 에 실 패 했 습 니 다!5. 데이터 값 이 5 인 결점 을 삭제 합 니 다. 4 링크 의 길 이 는 2, 3, 4 입 니 다. 3 전에 데 이 터 를 삽입 합 니 다. 2, 3, 4 는 두 번 째 노드 를 얻 고 3 은 첫 번 째 노드 를 얻 습 니 다. 2, 3, 4 는 첫 번 째 노드 를 삭제 합 니 다.

좋은 웹페이지 즐겨찾기