ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료구조...34
    일지 2020. 11. 18. 20:48

    스택 구현 준비

    스택은 선형 리스트와 연결 리스트에서 모두 구현할 수 있는 기본적인 자료구조 중 하나이다.

     

    구현에 필요한 메서드 및 속성은 다음과 같다.

    • 생성자
      • Stack() 비어있고 기본 초기 용량을 가지는 인스턴스 생성
      • Stack(Stack&) 다른 Stack 데이터로 인스턴스 생성
      • Stack(int) 비어있고 지정한 초기 용량을 가지는 인스턴스 생성
    • 속성 
      • Count Stack에 포함된 데이터의 개수
    • 메서드 
      • Push(data) Stack의 맨 위에 데이터를 저장
      • Peek() Stack의 맨 위의 데이터를 제거하지 않고 반환
      • Pop() Stack의 맨 위의 데이터를 제거하고 반환
      • Clear() 저장되어 있는 모든 데이터 삭제
      • Contains(data) 데이터가 저장되어 있는지 여부 확인

     

    선형 리스트 스택 구현

    ArrayList를 이용하여 Stack을 구현한다.

     

    ArrayListStack.h

    #pragma once
    #include <xutility>
    #include <iostream>
    
    class ArrayListStack
    {
    public:
    #pragma region 생성자
    	ArrayListStack(int capacity = 10);
    	ArrayListStack(const ArrayListStack& other);
    #pragma endregion
    
    #pragma region 속성
    	const size_t Count() { return m_count; }
    #pragma endregion
    
    #pragma region 메서드
    	void Push(int value);
    
    	int Peek();
    	int Pop();
    	void Clear();
    
    	bool Contains(int value);
    #pragma endregion
    
    private:
    #pragma region 변수
    	size_t m_count;
    	int* m_items;
    #pragma endregion
    };

     

    댓글

Designed by Tistory.