복습 의 데이터 구조 - 스 택

1904 단어
최근 에 잠시 일 을 하지 않 고 공부 할 시간 도 있 습 니 다. 평소에 재 미 없 고 비슷 한 코드 를 자주 써 서 사람 전체 가 좋 지 않 은 것 같 습 니 다. 요 며칠 동안 데이터 구 조 를 잘 활용 하고 복습 하면 논리 적 사고의 단련 과 향후 업무 에 도움 이 될 것 입 니 다.
      오늘 은 데이터 구조 에서 매우 간단 하고 흔히 볼 수 있 는 스 택 을 말씀 드 리 겠 습 니 다. 스 택 의 특징 은 바로 선진 적 인 후에 나 오 는 것 입 니 다. 사실은 대학 식당 의 식판 과 같 습 니 다. 서비스 직원 들 이 식판 을 놓 을 때 하나씩 쌓 습 니 다. 가장 먼저 놓 은 것 은 쌓 은 후에 가장 아래 에 있 는 것 이 고 마지막 에 놓 은 것 은 쌓 은 후에 가장 위 에 있 는 것 입 니 다. 식당 에 가 는 대학생 들 이 식판 을 찾 으 려 고 하 는 것 도 가장 위 에 있 는 것 에서 찾 을 것 입 니 다.마지막 으로 가 져 갈 때 까지창고 도 마찬가지다.나 는 게 을 러 서 그림 을 그리 지 않 겠 다.
      잡담 은 그만 하고 코드 를 붙 이 는 것 이 좋 겠 다.
  
/**         */
public class MyStack {
	private long [] arr;
	private int top; //     
	
	public MyStack(){
		arr = new long[10];
		top = -1;
	}
	public MyStack(int maxsize){
		arr = new long[maxsize];
		top = -1 ;
	}
	
	/**
	 *   
	 */
	public void push(int value){
		arr[++top] = value;
	}
	
	/**
	 *   
	 */
	public long pop(){
		return arr[top--];
	}
	
	/**
	 *     ,        
	 */
	public long peek(){
		if(!isEmpty()){
			return arr[top];
		}else return 0;
	}
	
	/**
	 *       
	 */
	public boolean isEmpty(){
		return top == -1;
	}
	
	/**
	 *       
	 */
	public boolean isFull(){
		return top == arr.length-1;
	}
}

    테스트 클래스
package stack_queue;

public class TestMyStack {
	public static void main(String[] args) {
		MyStack ms = new MyStack(4);
		ms.push(23);
		ms.push(12);
		ms.push(1);
		ms.push(90);
//		System.out.println(ms.isEmpty());
//		System.out.println(ms.isFull());
//		
//		System.out.println(ms.peek());
//		System.out.println(ms.peek());
		
		while(!ms.isEmpty()){
			System.out.println(ms.pop() + ",");
			System.out.println(ms.peek());
		}
		System.out.println(ms.isEmpty());
		System.out.println(ms.isFull());
	}
}

    이 예 가 너무 간단 하 다 는 것 을 감안 하여 설명 을 많이 하지 않 겠 습 니 다. 다음 소개 대열 입 니 다.

좋은 웹페이지 즐겨찾기