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

C++ STL에서 insert() 설정

<시간/>

이 기사에서는 C++ STL의 set::insert() 함수, 구문, 작업 및 반환 값에 대해 설명합니다.

C++ STL에서 무엇을 설정합니까?

C++ STL의 집합은 일반적인 순서로 고유한 요소를 가져야 하는 컨테이너입니다. 요소의 값이 요소를 식별하므로 집합에는 고유한 요소가 있어야 합니다. 집합 컨테이너에 값을 추가하면 나중에 수정할 수 없지만 집합에 값을 제거하거나 추가할 수는 있습니다. 집합은 이진 검색 트리로 사용됩니다.

무엇이 설정되어 있나요::insert()?

insert() 함수는 헤더 파일에 정의된 C++ STL의 내장 함수입니다. 이 함수는 세트 컨테이너에 요소를 삽입하는 데 사용됩니다. 요소를 삽입할 때 컨테이너의 크기는 삽입된 요소의 수만큼 증가합니다. 집합에 고유한 값이 포함되어 있으므로 insert()는 요소를 삽입할 뿐만 아니라 먼저 삽입할 요소가 집합 컨테이너에 없는지 확인합니다. 또한 set에서 모든 요소는 정렬된 위치에 저장되므로 삽입할 요소는 정렬된 위치에 따라 삽입됩니다.

구문

Set1.insert(const type_t &value); ----(1)
Or
Set1.insert(iterator position, const type_t &value); -----(2)
Or
Set1.insert(iterator position_1, iterator position_2); -----(3)

매개변수

  • value - 설정된 컨테이너에 삽입할 값입니다.

  • position - 위치에 대한 힌트이며, 이 위치에서 검색을 시작하여 삽입하기에 적합한 위치에 요소를 삽입합니다.

  • position_1, position_2 - insert()와 관련된 집합에 삽입될 범위를 지정하는 반복자입니다. 범위 시작을 위한 position_1 및 범위 끝을 위한 position_2.

반환 값

함수는 함수에 전달된 인수에 따라 다양한 유형의 값을 반환합니다.

  • 값만 전달할 때 이 함수는 세트 컨테이너에 삽입되는 요소를 가리키는 반복자를 반환합니다.

  • 값으로 위치를 전달할 때; 이 함수는 세트 컨테이너에 삽입되는 요소를 가리키는 반복자를 다시 반환합니다.

  • position_1과 position_2를 전달할 때; 이 함수는 position_1에서 시작하여 position_2에서 끝나는 범위 사이의 값 집합을 반환합니다.

예시

Input: set<int> myset;
   myset.insert(10);
Output: values in the set = 10
Input: set <int> myset = {11, 12, 13, 14};
   myset.insert(myset.begin(), 10);
Output: values in the set = 10 11 12 13 14

예시

대기열의 집합에 요소 삽입, 즉 차례로

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   mySet.insert(10);
   mySet.insert(20);
   mySet.insert(30);
   mySet.insert(40);
   mySet.insert(50);
   cout<<"Elements are: ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Elements are : 10 20 30 40 50

예시

위치에 따라 집합에 요소 삽입

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   auto i = mySet.insert(mySet.begin(), 10);
   i = mySet.insert(i, 20);
   i = mySet.insert(i, 40);
   i = mySet.insert(i, 30);
   i = mySet.insert(i, 80);
   i = mySet.insert(mySet.end(), 90);
   cout<<"Elements are: ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Elements are: 10 20 30 40 80 90