Notice
Recent Posts
Recent Comments
Link
오븐 노트
[C++] list #1 본문
#include <iostream>
using namespace std;
#include <vector>
#include <list>
class Node // 단일 연결 리스트
{
public:
Node* _next;
int _data;
};
// 단일 / 이중 / 원형
// list : 연결 리스트
// [] 한칸이 노드의 개념
// [1] -> [2] -> [3] -> [4] -> [5]
// [1] <-> [2] <-> [3] <-> [4] <-> [5]
// [1] <-> [2] <-> [3] <-> [4] <-> [5] <-> [1]
int main()
{
// list (연결 리스트)
// - list의 동작 원리
// - 중간 삽입/삭제
// - 처음/끝 삽입/삭제
// - 임의 접근
list<int> li;
for (int i = 0; i < 100; i++)
li.push_back(i);
//li.push_front(10);
int size = li.size();
//li.capacity(); // vector와 다르게 동적 배열 형태가 아니기 때문에 용량의 개념이 없다.
int first = li.front();
int last = li.back();
//li[3] = 10; // 임의 접근을 허용하지 않음
list<int>::iterator itBegin = li.begin(); // vector의 iterator와는 완전히 다르게 동작
list<int>::iterator itEnd = li.end();
for (list<int>::iterator it = li.begin(); it != li.end(); ++it)
{
cout << *it << endl;
}
li.insert(itBegin, 100);
li.erase(li.begin()); // 중간값까지 삭제 가능
li.pop_front(); // 첫 값 삭제(빼오기)
li.remove(10); // vector에서는 for문을 돌며 하나씩 삭제를 해야했는데 list는 remove를 지원
return 0;
}
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의
C++ 카테고리의 글은 인프런 Rookiss님의 강의를 공부하며 정리하는 내용입니다.
이미 알고 있는 내용도 다시 정리 되어있을 수 있습니다.
모든 글은 제가 공부하기 위해 작성합니다.
'Develop > C++' 카테고리의 다른 글
[C++] list #3 (0) | 2023.06.09 |
---|---|
[C++] list #2 (0) | 2023.06.09 |
[C++] vector #4 (0) | 2023.05.31 |
[C++] vector #3 (0) | 2023.05.29 |
[C++] vector #2 (0) | 2023.05.29 |