Contents

조회 수 11885 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

# 간단한 링크드 리스트 자료형 예제

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; 
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
831 Develop OGNL(Object Graph Navigation Language) hooni 2013.04.23 16956
830 Develop OpenGL 강좌 사이트 모음 hooni 2013.04.23 12413
829 Develop OPT와 CAS에 대한 자료.. (교수님 메일로 보내드린 자료..) file hooni 2013.04.23 15061
828 Develop SVN 명령어 (SVN command) hooni 2014.02.28 13034
827 Develop SVN 초간단 사용하기 hooni 2014.02.28 9012
826 Develop URI 인코딩, URL 인코딩 file hooni 2013.04.23 19820
825 Develop What is difference between Get, Post, Put and Delete? hooni 2018.02.28 5342
824 Develop XE Core 1.8.18 본문 작성시 태그(html) 사라지는 버그 file hooni 2016.04.21 2102
823 Develop XML, JSON, BSON, MSGPACK 장,단점 비교 file hooni 2017.01.11 6208
822 Develop ZBar 라이브러리를 이용한 바코드 스캔 앱 개발하기 file hooni 2015.01.01 2708
821 Develop [ajax] 샘플 코드와 한글처리에 대한 간단한 설명 hooni 2013.04.23 7727
820 Develop [ajax] 이벤트 코드 생성기 작업중.. ㅋㅋ file hooni 2013.04.23 8565
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71