스택과 큐

2022. 12. 6. 22:23자료구조

728x90

1. 스택(stack)

가장 마지막으로 삽입된 원소가 가장 먼저 제거되는  LIFO(Last In Frist OUT) 형태

한 쪽에서만 자료를 삽입하고 삭제할 수 있는 선형 구조

 

<stack> 헤더파일에 존재

*스택에 벡터 넣고 싶다면?

vector<int> myvector(2,100); //100 100 저장하는 int형 벡터 생성
stack<int,vector<int>> mystack(myvector); //stack에 벡터 넣어서 생성

stack<int,vector<int>> mystack2(myvector);

-멤버 함수

const_reference &top() const; //스택의 가장 상단에 있는 원소 반환

emplace(); //스택의 탑에 입력받은 원소 추가

*push()와 차이점? push()는 함수에 전달된 값이나 매개변수의 복사본을 삽입하는 반면

emplace()는 매개변수의 값으로 새 요소를 생성한 다음 추가

 

2. 큐(queue)

가장 처음으로 삽입된 원소가 가장 먼저 제거되는 FIFO(First In First Out) 형태

한 쪽에서는 삽입만 ,한쪽에서는 삭제만 가능한 선형 구조

deque 형태 :양쪽으로 삽입과 제거가 가능

스택과 멤버함수 동일

728x90

'자료구조' 카테고리의 다른 글

serching  (0) 2022.12.13
Graph  (2) 2022.12.06
연결 리스트  (0) 2022.12.06
배열  (1) 2022.12.06
Graph Traversals(그래프 순회)  (2) 2022.12.06