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

C++ 프로그래밍 STL의 deque::at() 및 deque::swap()

<시간/>

이 기사에서는 C++ STL에서 deque::at() 및 deque::swap() 함수의 작동, 구문 및 예제에 대해 논의합니다.

데크가 무엇인가요?

Deque는 양쪽 끝에서 확장 및 축소 기능을 제공하는 시퀀스 컨테이너인 Double Ended Queues입니다. 큐 데이터 구조는 사용자가 END에서만 데이터를 삽입하고 FRONT에서 데이터를 삭제할 수 있도록 합니다. 사람이 END에서만 대기열에 삽입될 수 있고 FRONT에 서 있는 사람이 가장 먼저 제거되는 반면 Double Ended 대기열에서는 데이터의 삽입 및 삭제가 양쪽에서 모두 가능한 버스 정류장의 대기열을 비유해 보겠습니다. 끝.

deque::at()이란 무엇입니까?

deque::at()은 헤더 파일에 선언된 C++ STL의 내장 함수입니다. deque::at()는 데크의 지정된 위치에 있는 요소를 가리키는 데 사용되는 참조를 반환합니다. 이 함수는 함수에 인수로 전달된 위치에 있는 요소로 이동합니다. 위치 값은 0부터 시작합니다.

구문

mydeque.at(int position);

매개변수

이 함수는 우리가 가리키고자 하는 위치에 대해 하나의 매개변수를 받습니다.

반환 값

deque 컨테이너의 지정된 위치에 있는 요소에 대한 참조를 반환합니다.

Input: deque<int> mydeque = {10, 20, 30, 40};
mydeque.at(2);

출력

2 위치의 요소는 30입니다.

#include <deque>
#include <iostream>
using namespace std;
int main(){
   deque<int> myDeque;
   myDeque.push_back(90);
   myDeque.push_back(80);
   myDeque.push_back(70);
   myDeque.push_back(60);
   myDeque.push_back(50);
   myDeque.push_back(40);
   myDeque.push_back(30);
   myDeque.push_back(20);
   myDeque.push_back(10);
   for (int i = 0; i < myDeque.size(); ++i){
      if (i % 2 == 0){
         cout << myDeque.at(i);
         cout << " ";
      }
   }
   return 0;
}

출력

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

90 70 50 30 10

deque::swap()이란 무엇입니까?

deque::swap()은 헤더 파일에 선언된 C++ STL의 내장 함수입니다. deque::swap()은 한 deque 컨테이너의 내용을 다른 컨테이너와 교환하는 데 사용됩니다. 이 함수는 연결된 deque 컨테이너와 데이터를 교환하려는 다른 deque 컨테이너의 개체를 사용합니다.

구문

mydeque1.swap(type_t& mydeque2);

매개변수

이 함수는 하나의 매개변수, 즉 관련 deque와 교환하려는 데이터의 deque에 대한 참조를 허용합니다.

반환 값

아무것도 반환하지 않습니다.

Input: deque<int> even = {2, 4, 6, 8};
deque<int> odd = {1, 3, 5, 7};
even.swap(odd);
Output:
Even deque: 1 3 5 7
Odd deque: 2 4 6 8

#include <deque>
#include <iostream>
using namespace std;
int main(){
   deque<int> Deque_1 = { 1, 2, 3, 4 };
   deque<int> Deque_2 = { 3, 5, 7, 9 };
   Deque_1.swap(Deque_2);
   cout<<"Deque_1 elements after swapping : ";
   for (auto i = Deque_1.begin(); i< Deque_1.end(); ++i)
   cout << *i << " ";
   cout <<endl<<"Deque_2 elements after swapping : ";
   for (auto i = Deque_2.begin(); i<Deque_2.end(); ++i)
   cout << *i << " ";
   return 0;
}

출력

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

Deque_1 elements after swapping : 3 5 7 9
Deque_2 elements after swapping : 1 2 3 4