1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include <iostream> using namespace std;
struct Node { int data; Node* Next; };
int main() { Node* head = NULL; Node* tail = NULL; Node* cur = NULL;
Node* newNode = NULL;
for (int i = 0; i < 10; i++) { newNode = new Node(); newNode->data = i; newNode->Next = NULL;
if (head == NULL) head = newNode;
else tail->Next = newNode;
tail = newNode; }
cur = head;
cout << cur->data << endl;
while (cur->Next != NULL) { cur = cur->Next; cout << cur->data << endl; }
Node* deleteNextNode = head->Next; Node* deleteNode = head;
delete(deleteNode);
while (deleteNextNode->Next != NULL) { deleteNode = deleteNextNode; deleteNextNode = deleteNode->Next;
delete(deleteNode); }
return 0; } |
간단히 순서대로 삽입하고 순서대로 제거
Head는 따로 출력해줘야하고 따로 입력해줘야함을 잊지 말 것
연결리스트 장점
- 어느 위치에서도 삽입 삭제가 빠르다.
- 원소들의 컨테이너 내 순서 이동이 빠르다.
연결리스트 단점
- 특정 index로의 접근이 불가능하다
- 특정 원소에 접근하려면 처음이나 끝에서부터 차례로 검색해야 한다.
'ECT' 카테고리의 다른 글
트리(Tree) (0) | 2015.07.02 |
---|---|
Stack (0) | 2015.06.26 |
markdown (0) | 2015.05.01 |
시간복잡도 Big O (0) | 2015.01.14 |
Github master branch 삭제하기 (0) | 2014.08.06 |