เช็คค่าซ้ำใน array C++ ด้วย unordered_set บทความนี้สอนเขียนโปรแกรมเช็คว่าภายในตัวแปร array มีค่าที่ซ้ำกันหรือไม่ โดยใช้คำสั่งในกลุ่ม unordered_set พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง เช็คค่าซ้ำใน array C++ ด้วย unordered_set
#include <iostream>
#include <unordered_set>
#include <iterator>
using namespace std;
int main() {
int arr[] = {5, 6, 8, 4, 4, 9};
int size = sizeof(arr) / sizeof(*arr);
unordered_set<int> distinct(begin(arr), end(arr));
bool b = size != distinct.size();
if (b) {
cout << "มีค่าซ้ำใน Array";
} else {
cout << "ไม่มีค่าซ้ำใน Array";
}
return 0;
}
ผลลัพธ์
มีค่าซ้ำใน Array
เช็คค่าซ้ำใน array C++ ด้วย unordered_set มีรายละเอียดการเขียนโปรแกรมดังนี้
1. inclide iostream, unordered_set และ iterator ไว้ที่ด้านบนของโค้ด
2. สร้างตัวแปร array ชื่อ arr พร้อมค่าเริ่มต้น 5, 6, 8, 4, 4, 9
3. สร้างตัวแปรชื่อ size เก็บขนาดของ array arr เป็นชนิดตัวเลข (int)
4. ใช้คำสั่ง unordered_set ร่วมกับ distinct เพื่อหาว่ามีค่าที่ซ้ำกันใน array arr หรือไม่
5. กรณีมีค่าซ้ำตัวแปร boolean b จะมีค่าเท่ากับจริง (true) แสดงข้อความ “มีค่าซ้ำใน Array”
6. กรณีไม่มีค่าซ้ำตัวแปร boolean b จะมีค่าเท่ากับเท็จ (false) แสดงข้อความ “ไม่มีค่าซ้ำใน Array”