728x90
    
    
    
  | 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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | Node* CreateNode(int NewData) {     Node* NewNode = (Node*)malloc(sizeof(Node));     NewNode->Data = NewData;     NewNode->Next = NULL;     NewNode->Pre = NULL;     return NewNode; } Node* DeleteNode(Node *Node) {     delete(Node); } Node* AppendNode(Node** Head, Node* NewNode) {     if (*Head == NULL)     {         *Head = NewNode;     }     else     {         //테일을 찾아서 Newnode를 연결         Node *Tail = *Head;         while (Tail->Next != NULL)         {             Tail = Tail->Next;         }         Tail->Next = NewNode;         NewNode->Pre = Tail; //기존 테일을 새로운 테일의 이전을 가리킴.     } } Node* GetNodeAt(Node** Head, int Location) {     Node* Current = Head;     while (Current != NULL && (--Location) >= 0)     {         Current = Current->Next;     }     return Current; } Node* RemoveNode(Node** Head, Node* Remove) {     if (*Head == Remove) //제거할 노드가 헤드노드인경우     {         *Head = Remove->Next; // 삭제할 노드가 가리키던 포인터를 가리키게 바꾸고         if (*Head != NULL)         {             (*Head)->Pre = NULL;         }         Remove->Pre = NULL;         Remove->Next = NULL; //삭제할 노드는 아무것도 가리켜선 안됨.     }     else     {         Node* Temp = Remove;         Remove->Pre->Next = Temp->Next;          if (Remove->Next != NULL)         {             Remove->Next->Pre = Temp->Pre;          }         Remove->Pre = NULL;         Remove->Next = NULL;     } } void InsertNode(Node* Current, Node* NewNode) {     NewNode->Next = Current->Next; //새로 추가되는 노드가 현재의 다음 링크를 가리키게함     NewNode->Pre = Current;     if (Current->Next != NULL)     {         Current->Next->Pre = NewNode; //다음의 이전링크에 새노드를 연결     }     Current->Next = NewNode; } | 
300x250
    
    
    
  'DataStructure' 카테고리의 다른 글
| 단일 리스트로 스택 구현하기 -Stack- C 언어 (0) | 2019.06.05 | 
|---|---|
| 단일 연결 리스트 -Linked List(2) (노드탐색, 삭제, 삽입) - C 언어 (0) | 2019.04.10 | 
| 단일 연결 리스트 -Linked List(1) (노드생성, 삭제, 추가) - C 언어 (0) | 2019.04.07 | 
 
										
									 
										
									 
										
									
댓글