Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 deque::at() 및 deque::swap()

<시간/>

이 기사에서는 C++ STL 함수 구문의 deque::at() 및 deque::swap() 함수, 작동 및 반환 값에 대해 설명합니다.

STL에서 deque::at() 및 deque::swap() 함수란 무엇입니까?

Deque 또는 Double Ended 큐는 이름에서 알 수 있듯이 양쪽 끝에서 확장 또는 축소할 수 있는 시퀀스 컨테이너입니다. 사용자는 끝에서 데이터를 쉽게 삽입할 수 있고 마찬가지로 끝에서 데이터를 삭제할 수 있습니다. 벡터와 유사하지만 유일한 차이점은 벡터와 달리 연속 스토리지 할당이 보장되지 않을 수 있다는 것입니다. Still Deque는 양쪽 끝에 요소를 삽입 및 삭제하는 경우에 더 효율적입니다.

데크::at()

at() 함수는 함수에 대한 매개변수로 주어진 특정 위치에 존재하는 요소에 대한 참조를 제공하는 데 사용됩니다.

구문

dequename.at(position of element)

매개변수

요소의 위치

반환 값

주어진 위치에 있는 요소에 대한 직접 참조.

예시

Input : adeque = 1, 3, 4, 5, 8
adeque.at(3);
Output : 5
Input : adeque = 1, 3, 5, 7,9
adeque.at(2);
Output : 5

예시

#include <deque>
#include <iostream>
using namespace std;
int main(){
   deque<int> adeque;
   adeque.push_back(1);
   adeque.push_back(3);
   adeque.push_back(4);
   adeque.push_back(5);
   adeque.push_back(8);
   cout << adeque.at(3);
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

5

데크::스왑()

swap() 함수는 유형과 크기가 같은 두 데크의 요소를 교환하거나 교환하는 데 사용됩니다.

구문

Deque1name.swap(deque2name)

매개변수

매개변수는 deque1의 내용이 형성되어야 하는 데크의 이름을 포함합니다.

반환 값

두 데크의 모든 요소가 교환되거나 교환됩니다.

예시

Input : adeque = {1, 3, 4, 5, 8}
bdeque = {2, 6, 7, 9, 0}
adeque.swap(bdeque);
Output : adeque = {2, 6, 7, 9, 0}
bdeque = {1, 3, 4, 5, 8}

예시

#include <deque>
#include <iostream>
using namespace std;
int main(){
   // deque container declaration
   deque<int> adeque{ 1, 2, 3, 4 };
   deque<int> bdeque{ 3, 5, 7, 9 };
   // using swap() function to swap elements of deques
   adeque.swap(bdeque);
   // code for printing the elemets of adeque
   cout << "adeque = ";
   for (auto it = adeque.begin(); it < adeque.end(); ++it)
      cout << *it << " ";
   // code for printing the elemets of bdeque
   cout << endl
   << "bdeque = ";
   for (auto it = bdeque.begin(); it < bdeque.end(); ++it)
      cout << *it << " ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

adeque = {2, 6, 7, 9, 0}
bdeque = {1, 3, 4, 5, 8}