Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

คิว::swap() ใน C ++ STL


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน queue::swap() ใน C++ STL

คิวใน C++ STL คืออะไร

คิวคือลำดับอย่างง่ายหรือโครงสร้างข้อมูลที่กำหนดไว้ใน C++ STL ซึ่งทำการแทรกและลบข้อมูลในรูปแบบ FIFO (เข้าก่อนออกก่อน) ข้อมูลในคิวจะถูกจัดเก็บในลักษณะต่อเนื่อง องค์ประกอบจะถูกแทรกที่ส่วนท้ายและลบออกจากจุดเริ่มต้นของคิว ใน C++ STL มีเทมเพลตคิวที่กำหนดไว้ล่วงหน้า ซึ่งแทรกและลบข้อมูลในลักษณะที่คล้ายกันของคิว

que::swap() คืออะไร

Queue::swap() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว queue::swap() ใช้เพื่อสลับเนื้อหาของคอนเทนเนอร์คิว ฟังก์ชันนี้ยอมรับพารามิเตอร์หนึ่งตัว ซึ่งเป็นคอนเทนเนอร์คิวอื่นที่เราต้องการสลับเนื้อหาของคอนเทนเนอร์คิวที่เกี่ยวข้อง

ไวยากรณ์

myqueue1.swap(myqueue2);

ฟังก์ชันนี้ยอมรับพารามิเตอร์หนึ่งตัวสำหรับคอนเทนเนอร์คิวที่สองซึ่งเราต้องการสลับคิวที่เกี่ยวข้อง

คืนค่า

ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด

ตัวอย่าง

Input: queue<int> odd = {1, 3, 5};
      queue<int> eve = {2. 4. 6};
Output:
      Odd: 2 4 6
      Eve: 1 3 5

ตัวอย่าง

#include <iostream>
#include <queue>
using namespace std;
int main(){
   queue<int> Queue_1, Queue_2;
   for(int i=0 ;i<=5 ;i++){
      Queue_1.push(i);
   }
   for(int i=5 ;i<=10 ;i++){
      Queue_2.push(i);
   }
   //call swap function
   Queue_1.swap(Queue_2);
   cout<<"Element in Queue_1 are: ";
   while (!Queue_1.empty()){
      cout << ' ' << Queue_1.front();
      Queue_1.pop();
   }
   cout<<"\nElement in Queue_2 are: ";
   while (!Queue_2.empty()){
      cout << ' ' << Queue_2.front();
      Queue_2.pop();
   }
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Element in Queue_1 are: 5 6 7 8 9 10
Element in Queue_1 are: 0 1 2 3 4 5