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

C++ STL 목록에 요소를 삽입하는 방법은 무엇입니까?

<시간/>

C++에 하나의 STL 목록이 있다고 가정합니다. 요소가 거의 없습니다. 목록에 새 요소를 삽입해야 합니다. 끝, 시작 또는 임의의 위치에 삽입할 수 있습니다. 더 나은 이해를 위해 하나의 코드를 살펴보겠습니다. 처음에 삽입하려면 push_front()를 사용하고 끝에 삽입하려면 push_end()를 사용하고 임의의 위치에 삽입하려면 몇 가지 작업을 사용해야 합니다. 하나의 반복자를 초기화한 다음 해당 반복자를 올바른 위치로 이동한 다음 insert() 메서드를 사용하여 해당 위치에 삽입해야 합니다.

예시

#include<iostream>
#include<list>
using namespace std;
void display(list<int> my_list){
   for (auto it = my_list.begin(); it != my_list.end(); ++it)
   cout << *it << " ";
}
int main() {
   int arr[] = {10, 41, 54, 20, 23, 69, 84, 75};
   int n = sizeof(arr)/sizeof(arr[0]);
   list<int> my_list;
   for(int i = 0; i<n; i++){
      my_list.push_back(arr[i]);
   }
   cout << "List before insertion: ";
   display(my_list);
   //insert 100 at front
   my_list.push_front(100);
   //insert 500 at back
   my_list.push_back(500);
   //insert 1000 at index 5
   list<int>::iterator it = my_list.begin();
   advance(it, 5);
   my_list.insert(it, 1000);
   cout << "\nList after insertion: ";
   display(my_list);
}

출력

List before insertion: 10 41 54 20 23 69 84 75
List after insertion: 100 10 41 54 20 1000 23 69 84 75 500