Develop
2003.04.23 09:45
[c] 간단한 링크드 리스트(linked list) 자료형 예제..
Views 9870 Comment 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; }
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
217 | Develop | [c] 간단한 순위 루틴.. (질문에 대한 답변) | hooni | 2003.04.23 | 7497 |
216 | Develop | [c] 간단한 순위 루틴.. (정보처리기사) | hooni | 2003.04.23 | 6908 |
215 | Develop | [c] 간단한 소켓 프로그래밍 샘플 | hooni | 2013.04.23 | 8190 |
» | Develop | [c] 간단한 링크드 리스트(linked list) 자료형 예제.. | hooni | 2003.04.23 | 9870 |
213 | Develop | [c] 가위 바위 보 서버, 클라이언트 소스코드 | hooni | 2003.04.23 | 8227 |
212 | Develop | [c] 가변인자 함수(printf와 같은..) | hooni | 2013.04.23 | 7204 |
211 | Develop | [c] vc++ 에서 clrscr(), gotoxy() 함수 사용하기.. | hooni | 2013.04.23 | 14293 |
210 | Develop | [c] UTF-8을 EUC-KR로 변환.. (iconv) | hooni | 2013.04.23 | 20212 |
209 | Develop | [c] Unix Domain Socket 을 이용한 IPC | hooni | 2013.04.23 | 8052 |
208 | Develop | [c] UCP/TCP 채팅 소스 - 정리해야 함.. | hooni | 2003.04.23 | 7947 |
207 | Develop | [c] SetTimer() & KillTimer() & 일회용 Timer | hooni | 2013.04.23 | 9246 |
206 | Develop | [c] selec()를 이용한 입출력 다중화 | hooni | 2013.04.23 | 8277 |