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

ฟังก์ชันนับแผนที่ ( ) ใน C++


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

แผนที่ใน C++ STL คืออะไร

แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน

map::count() คืออะไร

map::count( ) เป็นฟังก์ชันที่อยู่ภายใต้ไฟล์ส่วนหัว ฟังก์ชันนี้นับองค์ประกอบที่มีคีย์เฉพาะ จะคืนค่า 1 หากองค์ประกอบที่มีคีย์อยู่ และจะคืนค่า 0 หากองค์ประกอบที่มีคีย์ไม่มีอยู่ในคอนเทนเนอร์

ไวยากรณ์

map_name.count(คีย์ n);

พารามิเตอร์

ฟังก์ชันนี้ยอมรับพารามิเตอร์ N ซึ่งระบุคีย์ในคอนเทนเนอร์

คืนสินค้า

ฟังก์ชันนี้จะคืนค่าบูลีนหมายเลข 1 หากมีคีย์อยู่ในคอนเทนเนอร์ และส่งกลับค่า 0 หากไม่มีคีย์ในคอนเทนเนอร์

อินพุต (คีย์, องค์ประกอบ)

(2,70), (3,30), (4,90), (5,100)

ผลผลิต

คีย์ 5 มีอยู่ คีย์ 6 ไม่มีอยู่ 2,113,261,664,81คีย์ 2 มีอยู่แล้ว คีย์ 8 ไม่มีอยู่

แนวทางสามารถติดตามได้

  • เริ่มต้นคอนเทนเนอร์ก่อน

  • จากนั้นแทรกองค์ประกอบด้วยกุญแจ

  • จากนั้นเราตรวจสอบคีย์ที่ต้องการว่ามีอยู่ในคอนเทนเนอร์

โดยใช้วิธีการข้างต้น เราสามารถตรวจสอบว่าคีย์มีอยู่ในคอนเทนเนอร์หรือไม่ มีอีกวิธีหนึ่งที่สามารถปฏิบัติตามได้ −

  • ขั้นแรก เราเริ่มต้นคอนเทนเนอร์

  • จากนั้นเราก็แทรกองค์ประกอบด้วยคีย์ของมัน

  • จากนั้นเราสร้างการวนซ้ำจากองค์ประกอบแรกไปยังองค์ประกอบสุดท้าย

  • ในลูปนี้เราจะตรวจสอบว่าคีย์ที่ต้องการมีอยู่หรือไม่

โดยทั่วไปจะใช้วิธีการข้างต้นสำหรับองค์ประกอบที่จัดเก็บตามตัวอักษร ในโค้ดวิธีการนี้ ให้พิมพ์ว่าองค์ประกอบนั้นมีอยู่ในองค์ประกอบหรือไม่ในเอาต์พุต

ตัวอย่าง

/ / รหัส C++ เพื่อแสดงการทำงานของการนับแผนที่ ( ) function#incude#includeการใช้เนมสเปซ std;int main( ){ map mp; mp.insert({1, 40}); mp.insert({3, 20}); mp.insert({2, 30}); mp.insert({5, 10}); mp.insert({4, 50}); ถ้า (mp.count(1)) cout<<” คีย์ 1 มีอยู่\n”; อื่น cout<<” คีย์ 1 ไม่มีอยู่\n”; if(mp.count(7)) cout<<“ กุญแจ 7 มีอยู่ \n”; อื่น cout<<“ กุญแจ 7 ไม่มีอยู่\n”; คืนค่า 0;}

ผลลัพธ์

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

คีย์ 1 มีอยู่แล้ว คีย์ 7 ไม่มีอยู่

ตัวอย่าง

#include#includeการใช้เนมสเปซ std;int main ( ){ map mp; int ฉัน; mp['a'] =2; mp['c'] =3; mp['e'] =1; สำหรับ ( i ='a'; i <'f'; i++){ cout<0) cout<<“ เป็นองค์ประกอบของ mp.\n”; อื่น cout<<“ ไม่ใช่องค์ประกอบของ mp.\n”; } return 0;}

ผลลัพธ์

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

a เป็นองค์ประกอบของ mp.b ไม่ใช่องค์ประกอบของ mp.c เป็นองค์ประกอบของ mp.d ไม่ใช่องค์ประกอบของ mp.e เป็นองค์ประกอบของ mp.f ไม่ใช่องค์ประกอบของ mp