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

การดำเนินงานคิวในโครงสร้างข้อมูล


โครงสร้างข้อมูลคิวเข้าก่อนออกก่อน คิวถูกใช้ในพื้นที่ต่างๆ สำหรับอัลกอริธึมการข้ามผ่านกราฟ Breadth First Search เป็นต้น คิวมีการดำเนินการพื้นฐานบางอย่าง ที่นี่เราจะเห็นการดำเนินการของคิวเหล่านั้น และดูตัวอย่างหนึ่งรายการโดยใช้ ADT ของคิว

ADT (ประเภทข้อมูลนามธรรม) เป็นประเภทข้อมูลพิเศษ ซึ่งพฤติกรรมถูกกำหนดโดยชุดของค่าและชุดของการดำเนินการ มีการใช้คำหลัก "บทคัดย่อ" เนื่องจากเราสามารถใช้ประเภทข้อมูลเหล่านี้ เราสามารถดำเนินการต่างๆ ได้ แต่การดำเนินการเหล่านั้นทำงานอย่างไรซึ่งถูกซ่อนจากผู้ใช้โดยสิ้นเชิง ADT ประกอบด้วยประเภทข้อมูลดั้งเดิม แต่ตรรกะการทำงานถูกซ่อนไว้

นี่เป็นการดำเนินการหรือฟังก์ชันบางอย่างของ ADT ของคิว

  • isFull() ใช้ตรวจสอบว่าคิวเต็มหรือไม่
  • isEmpry() ใช้ตรวจสอบว่าคิวว่างหรือไม่
  • enqueue(x) ใช้กด x ที่ท้ายคิว
  • delete() ใช้เพื่อลบหนึ่งองค์ประกอบจากส่วนหน้าของ
  • front() ใช้เพื่อรับองค์ประกอบส่วนใหญ่ของคิว
  • size() ฟังก์ชันนี้ใช้เพื่อรับจำนวนองค์ประกอบที่มีอยู่ในคิว

ตัวอย่าง

#include<iostream>
#include<queue>
using namespace std;
main(){
   queue<int> que;
   if(que.empty()){
      cout << "Queue is empty" << endl;
   } else {
      cout << "Queue is not empty" << endl;
   }
   //insert elements into queue
   que.push(10);
   que.push(20);
   que.push(30);
   que.push(40);
   que.push(50);
   cout << "Size of the queue: " << que.size() << endl;
   //delete and dispay elements
   while(!que.empty()) {
      int item = que.front(); // read element from first position
      que.pop();
      cout << item << " ";
   }
}

ผลลัพธ์

Queue is empty
Size of the queue: 5
10 20 30 40 50