Develop
2003.04.23 09:45
[c] 간단한 링크드 리스트(linked list) 자료형 예제..
조회 수 12000 댓글 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;
}| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|---|
| 25 | Database | [sql] 간단한 SQL 문법 정리 | hooni | 2003.04.23 | 14164 |
| 24 | Develop |
[c] 간단한 채팅(클라이언트/서버) 프로그램 소스
|
hooni | 2003.04.23 | 10502 |
| 23 | Develop | [c] 팩토리얼.. - 재귀함수 | hooni | 2003.04.23 | 11035 |
| 22 | Develop | [c] 하노이탑 - 재귀함수 | hooni | 2003.04.23 | 10784 |
| 21 | Develop | [c] 소수점 반올림^^ | hooni | 2003.04.23 | 9798 |
| 20 | Develop | [c] 최대공약수 알고리즘 (유클릿) | hooni | 2003.04.23 | 10452 |
| 19 | Develop | [php] whois정보 조회 프로그램 | hooni | 2003.04.23 | 12953 |
| » | Develop | [c] 간단한 링크드 리스트(linked list) 자료형 예제.. | hooni | 2003.04.23 | 12000 |
| 17 | Develop | [c] CGI Library to C^^ | hooni | 2003.04.23 | 9810 |
| 16 | Develop | [c] scanf(), printf() 포맷의 형변환 | hooni | 2003.04.23 | 12615 |
| 15 | Develop | [c] home env stack overflow | hooni | 2003.04.23 | 22309 |
| 14 | Develop | [c] 파일입출력 간단한 설명 | hooni | 2003.04.23 | 13680 |