본문 바로가기

ALGORITHM/코딩테스트를 위한 자료구조와 알고리즘 with c++ 정리

std::list의 삽입 또는 삭제 함수 사용하기

std::list 삽입과 삭제

#include <iostream>
#include <list>

int main()
{
	std::list<int> list1 = { 1,2,3,4,5 };
	list1.push_back(6);
	list1.insert(next(list1.begin()), 0);
	list1.insert(list1.end(), 7);

	list1.pop_back();

	std::cout << "삽입 & 삭제 후 리스트: ";
	for (auto i : list1)
	{
		std::cout << i << " ";
	}
}

 

 

이중 연결 리스트에서 원소 삽입 시 포인터 관리방법

단일 연결리스트는 새로운 데이터 삽입 이전의 next 포인터만 변경해주면 되지만 이중 연결리스트에서는 새로 삽입된 데이터의 다음 노드의 prev포인터도 변경해야 하기 때문에 단일 연결 리스트에 비하면 두 배의 연산량이 필요합니다.