Develop
2003.04.23 09:45
[c] 간단한 링크드 리스트(linked list) 자료형 예제..
조회 수 9855 댓글 0
# 간단한 링크드 리스트 자료형 예제
typedef struct { int index; char name[10]; char sex; int age; char mail[50]; char phone[15]; char address[128]; }USER_INFO; typedef struct list_node *list_ptr; typedef struct list_node { USER_INFO user_info; list_ptr next; }LIST_NODE; list_ptr first=NULL; unsigned long list_cnt=0; list_ptr find_list_ptr(int node) { unsigned long i; list_ptr tmp=first; if( node > list_cnt ) node = list_cnt; if( tmp == NULL ) return NULL; for( i=1 ; i<node ; i++ ) { tmp = tmp->next; } return tmp; } // add list to end of list void add_list() { list_ptr tmp, end; tmp = (list_ptr)malloc( sizeof(LIST_NODE) ); tmp->next = NULL; if( list_cnt == 0 ) { first = tmp; } else { end = find_list_ptr( list_cnt ); end->next = tmp; } list_cnt++; } void insert_list(unsigned long node) { list_ptr tmp, node_ptr,node_next_ptr ; tmp = (list_ptr)malloc( sizeof(LIST_NODE) ); tmp->next=NULL; if( node >= list_cnt) { add_list(); return; } node_ptr = find_list_ptr(node); node_next_ptr = node_ptr->next; node_ptr->next = tmp; tmp->next = node_next_ptr; list_cnt++; } void Del_list() { unsigned long i; list_ptr tmp = first; list_ptr tmp_next; for( i=0 ; i<list_cnt; i++ ) { if( tmp->next != NULL) { tmp_next = tmp->next; free(tmp); tmp = tmp_next; } else { if( tmp != NULL ) free(tmp); } } list_cnt = 0; }
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
21 | System/OS | [펌] 마이크로서비스, 모노리포, SRE, ... 덮어놓고 구글 따라하면 안 되는 기술들 | hooni | 2020.10.15 | 1075 |
20 | Develop | [ubuntu] 우분투 18.04에 PHP5 설치하기 | hooni | 2020.11.14 | 1062 |
19 | Develop | [kotlin] 코틀린 안드로이드 앱 버전/빌드 정보 | hooni | 2020.12.15 | 958 |
18 | Develop | [swift] NotificationCenter 간단 예제 | hooni | 2021.01.27 | 8295 |
17 | Develop | [swift] popToRoot 모달뷰, 네비게이션컨트롤러 한꺼번에 닫기 | hooni | 2021.01.29 | 1527 |
16 | Develop | [js] show/hide 이벤트 감시 (Observing show/hide event) | hooni | 2021.02.03 | 2721 |
15 | Develop | [vim] vim 명령으로  문자 제거하기 (remove 65279 bomb) | hooni | 2021.02.03 | 1335 |
14 | Develop | [swift] 실행시간 측정하기 | hooni | 2021.09.14 | 803 |
13 | Develop | [iOS] Xcode 불필요한 캐시 삭제하기 | hooni | 2021.10.12 | 1924 |
12 | Develop | [iOS] 시뮬레이터에 푸시 알림을 보내는 방법 | hooni | 2021.10.13 | 1962 |
11 | Develop | macOS에 node, npm 설치하기 (homebrew) | hooni | 2021.11.06 | 1406 |
10 | System/OS | [apache2] Redirect HTTP to HTTPS | hooni | 2022.02.03 | 815 |