리스트의 기본적인 사용법
이중 연결 리스트로 구현된 컨테이너이다 노드는 링크에 의해 연결될 뿐이므로 인접한 메모리에 배치되지 않아도 상관없으며 삽입, 삭제할 때도 앞뒤 노드의 링크만 조작하므로 대용량의 메모리를 밀고 당길 필요가 없다. 그래서 삽입, 삭제 속도가 대단히 빠르다. 반면 리스트의 한 요소를 찾으려면 첫 노드부터 순서대로 링크를 따라 이동해야 하므로 읽기 속도는 무척 느리다.
[code]
#include <iostream>
#include <list>
using namespace std;
void main()
{
list<int> li;
int i;
for (i=0;i<5;i++) {
li.push_back(i*2);
}
// 정수형 리스트 반복자
list<int>::iterator it;
for (it=li.begin(),i=0;it!=li.end();it++,i++) {
printf("%d번째=%d\n",i,*it);
}
}
[/code]
list 기본 멤버 함수들
[code]
li.begin();
li.end();
li.size();
li.push_front(); // 제일 앞에 요소 추가
li.push_back(); // 제일 뒤에 요소 추가
li.pop_front(); // 제일 앞의 요소 삭제
li.pop_back(); // 제일 뒤의 요소 삭제
[/code]
이중 연결 리스트로 구현된 컨테이너이다 노드는 링크에 의해 연결될 뿐이므로 인접한 메모리에 배치되지 않아도 상관없으며 삽입, 삭제할 때도 앞뒤 노드의 링크만 조작하므로 대용량의 메모리를 밀고 당길 필요가 없다. 그래서 삽입, 삭제 속도가 대단히 빠르다. 반면 리스트의 한 요소를 찾으려면 첫 노드부터 순서대로 링크를 따라 이동해야 하므로 읽기 속도는 무척 느리다.
[code]
#include <iostream>
#include <list>
using namespace std;
void main()
{
list<int> li;
int i;
for (i=0;i<5;i++) {
li.push_back(i*2);
}
// 정수형 리스트 반복자
list<int>::iterator it;
for (it=li.begin(),i=0;it!=li.end();it++,i++) {
printf("%d번째=%d\n",i,*it);
}
}
[/code]
list 기본 멤버 함수들
[code]
li.begin();
li.end();
li.size();
li.push_front(); // 제일 앞에 요소 추가
li.push_back(); // 제일 뒤에 요소 추가
li.pop_front(); // 제일 앞의 요소 삭제
li.pop_back(); // 제일 뒤의 요소 삭제
[/code]
'Native > C++' 카테고리의 다른 글
반복자 (iterator) 사용하기 (0) | 2013.10.02 |
---|---|
맵의 사용 (map) (0) | 2013.10.02 |
벡터 (vector) (0) | 2013.10.02 |
메모리 자동 해제 (auto_ptr) (0) | 2013.10.02 |
Dev Cpp (Dev C++) 다운로드 (0) | 2013.10.02 |