🐣 알고리즘 삐약/✌️알고리즘 개념 잡기

[Linear Data Structures] Stack / Queue

우주수첩 2022. 4. 20. 01:03
728x90

# Stack (FILO)

  • push: 끝부분 (stack top)에 원소를 추가
  • pop : 끝부분의 원소를 제거 == Stack top의 원소 반환
    • 모두 평균 O(1)
stack<int> s;
s.push(2); // 2
s.push(5); // 2 5
cout<<s.top()<<'\n'; // 5
s.pop(); // 2 
cout<<s.top() <<'\n'; // 2

 

 

 


 

 

# Queue (FIFO)

  • push: 끝부분에 원소를 추가
  • pop : 앞 부분 부터 차례대로 제거
  • front() : Queue의 가장 앞 원소 반환
  • back() : Queue의 가장 뒷 원소 반환
    • 모두 평균 O(1)
queue<int> q;
q.push(2); // 2
q.push(5); // 2 5
cout<<q.front()<<'\n'; // 2
q.pop(); // 5
cout<< q.back() << '\n'; // 5

 

 

#같은 평균 시간이라도 stack, queue는 deque보다 빠르다.

728x90