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

사용자 정의 데이터 유형에 대한 C++ 설정?

<시간/>

집합은 숫자 값을 저장하는 데이터 구조입니다. 집합의 특징은 요소가 구별된다는 것입니다(즉, 동일한 값을 갖는 두 요소가 없음). 또한 값은 오름차순으로 저장됩니다. C++에서 세트의 데이터 유형, 즉 세트에 대한 사용자 정의 데이터 유형을 명시적으로 정의할 수 있습니다.

고유한 형식과 정렬된 순서로 데이터를 저장합니다. 예를 들어 보겠습니다.

Input  : 124689781230
Output : 1230467889

논리

집합에서 입력은 임의의 순서가 될 수 있으며 중복 값이 ​​있을 수 있습니다. 그러나 집합은 고유한 값만 오름차순으로 저장합니다.

예시

#include<bits/stdc++.h>
using namespace std;
struct Test {
   int id;
   bool operator < (const Test& t) const {
      return (this->id < t.id);
   }
};
int main() {
   Test t1 = { 12 }, t2 = { 45 }, t3 = { 32 }, t4 = { 78 }, t5 = {12}, t6 = {8};
   set<struct Test> s;
   s.insert(t1);
   s.insert(t2);
   s.insert(t3);
   s.insert(t4);
   s.insert(t5);
   s.insert(t6);
   set<struct Test>::iterator it;
   for (it = s.begin(); it != s.end(); it++) {
      cout << (*it).id <<" ";
   }
   return 0;
}

출력

8 12 32 45 78