간단한 양방향 linkedlist

 
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 struct node
 5 {
 6     struct node *backward;
 7     int data;
 8     struct node *forward;
 9 };
10
11 struct node* create_node(int i)
12 {
13     struct node *new_node          = NULL;
14     static struct node *old_node   = NULL;
15
16     new_node = (struct node *)malloc(sizeof(struct node) * 1);
17
18     new_node -> backward     = old_node;
19     new_node -> data            = i;
20     new_node -> forward        = NULL;
21
22     /* 첫번째 노드가 아니라면 전노드가 있는 곳의 주소를 준다 */
23     if(old_node != NULL)
24         old_node -> forward = new_node;
25
26     old_node = new_node;
27
28     return new_node;
29 }
30
31 /*me_free <= Header*/
32 void free_node(struct node *me_free)
33 {
34     while(me_free -> forward != NULL){
35         me_free = me_free -> forward;
36         free(me_free -> backward);
37     }
38
39     free(me_free);
40 }
41
42 int main(void)
43 {
44     struct node *head  = NULL;
45
46     head = create_node(1);
47     create_node(2);
48     create_node(3);
49     create_node(4);
50
51     printf("node 1 : %d\n",head -> data);
52     printf("node 2 : %d\n",head -> forward -> data);
53     printf("node 3 : %d\n",head -> forward -> forward -> data);
54     printf("node 4 : %d\n",head -> forward -> forward -> forward -> data);
55     printf("moving : %d\n",head -> forward -> backward -> data);
56
57     free_node(head);
58
59     return 0;
60 }

간단한 linkedlist 당장 쓸때가 있어서

"아무것도 안보고 스스로 처음" 으로 만들어 봣다...

1년반전만해도 linkedlist짜는데 못짜가지고 막 배껴가갔던게 생각이 나네 ㅋㅋ

뭐 암튼간데  잘 작동하는듯하는데.. 글쎄 확실힌 모르겠다..

뭐낙 실수가 많아서..

일단 memory-leak은 안생기는거 같지만....

뭐누군가가 구글링을 하거나 해서 학교 숙제 도움이나 될까..

뭐 틀리다고 해도 내책임은 없다,.. =3 (이블로그에있는 모든 자료가 마찬가지!)

--07-5-12-1시 30분 더 알아보기 쉽게 수정--
Trackback 0 Comment 6
  1. Favicon of http://sakuragi.org BlogIcon sakuragi 2007.05.11 22:31 address edit & del reply

    전 아직도 '아무것도 안보고 스스로' 링키드 리스트 못짜요. 항상 보고 짠답니다. -_-;;;

    • lowid 2007.05.11 22:57 address edit & del

      에이 거짓말~
      다익스트라 알고리즘도 짜시면서 >_<

  2. Favicon of http://blog.naver.com/khmirage.do BlogIcon 환상경 2007.05.13 10:59 address edit & del reply

    훠~ 천재;;;;
    저는 언제나 이론만 배우고 머리에 익혀서(암기해서 -_-) 직접 구현할줄은 전혀 모르는 ㅡㅜ

    덧붙이는 글)
    노란색이 너무 밝아서 무슨 글자인지 인식이 잘안되옵나이다 ^^;;;

    • lowid 2007.05.14 01:30 address edit & del

      다들 왜 그러세여 -_-;
      암기도 돼면 직접 구현도 되겠져멀...
      덧> 박스 색깔이 어중간해서 ㅜ 따른색으로 바꿔볼께요.

  3. san 2007.05.24 02:41 address edit & del reply

    테마바꿨네요 산뜻 ㅇㅅㅇ

    • lowid 2007.05.25 17:56 address edit & del

      테마는 저번게 이상한거 같아서 새롭게 바꿔봤어요..
      다른거 또 좋은거 나오면 그것으로 또 옮겨갈까
      생각중이기도 하고 ~

prev 1 ··· 11 12 13 14 15 16 17 18 19 ··· 22 next