STL 소스 코드 분석 - stack 의 실현 원리 와 사용 방법 에 대한 상세 한 설명

2147 단어 STL 소스 분석
Stack 소개
    stack 은 스 택 용기 로 '선진 후 출' 용기 입 니 다.
    stack 은 deque 용 기 를 간단하게 장식 하여 다른 용기 가 됩 니 다.
    stack 을 사용 할 때 헤더 파일 을 추가 해 야 합 니 다 \ # include.
stack 실현 원리
    어떤 기 존 용 기 를 밑부분 구조 로 하여 인 터 페 이 스 를 바 꾸 어 '선진 후 출' 의 특성 에 부합 시 켜 하나의 stack 을 형성 하 는 것 은 쉽게 할 수 있다.deque 는 양 방향 개 구 부 데이터 구조 로 deque 를 밑부분 구조 로 하고 머리 끝 개 구 부 를 닫 으 면 쉽게 stack 을 형성 할 수 있 습 니 다.따라서 STL 은 deque 를 결 성 된 상황 에서 stack 의 밑부분 구조 로 한다.
    stack 계 는 바닥 용기 로 모든 작업 을 완성 하기 때문에 이러한 '특정한 인 터 페 이 스 를 수정 하여 다른 모습 을 형성 하 는' 성질 을 가 진 사람 을 adapter (어댑터) 라 고 부 르 기 때문에 stack 은 용기 어댑터 로 분류 된다.
stack 대상 의 기본 구조
    stack 은 템 플 릿 류 로 이 루어 집 니 다. stack 대상 의 기본 구조 형식: stack stkT;  
stack  stkInt;            //    int stack  。
stack  stkFloat;     //    float stack  。
stack  stkString;     //    string stack  。

    괄호 안에 포인터 형식 이나 사용자 정의 형식 도 설정 할 수 있 습 니 다.
stack 의 push () 와 pop () 방법
stack.push(elem);   //       
stack.pop();   //          

stack stkInt;  	
stkInt.push(1);
stkInt.push(3);
stkInt.pop();   
stkInt.push(5);
stkInt.push(7);  
stkInt.push(9);
stkInt.pop();   	
stkInt.pop();  
//  stkInt      1,5  

stack 대상 의 복사 구조 와 할당
	stack(const stack &stk);		 //      
	stack& operator=(const stack &stk);	//       

	stack stkIntA;
	stkIntA.push(1);
	stkIntA.push(3);
	stkIntA.push(5);
	stkIntA.push(7);
	stkIntA.push(9);

	stack stkIntB(stkIntA);		//    
	stack stkIntC;
	stkIntC = stkIntA;			//  

stack 데이터 액세스
	stack.top();	  //           
	stack stkIntA;
	stkIntA.push(1);
	stkIntA.push(3);
	stkIntA.push(5);
	stkIntA.push(7);
	stkIntA.push(9);

	int iTop = stkIntA.top();	//9
	stkIntA.top() = 19;		//19

stack 크기 
	stack.empty();   //        
	stack.size(); 	     //       

	stack stkIntA;
	stkIntA.push(1);
	stkIntA.push(3);
	stkIntA.push(5);
	stkIntA.push(7);
	stkIntA.push(9);
		
	if (!stkIntA.empty())
	{
		int iSize = stkIntA.size();	//5
	}

좋은 웹페이지 즐겨찾기