조회 수 9859 추천 수 0 댓글 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
번호 분류 제목 글쓴이 날짜 조회 수
1157 Develop 자주 쓰는 Docker 명령어 alias hooni 2020.01.10 270769
1156 Etc 인증서 *.p12 파일을 *.pem 파일로 변환 hooni 2015.04.30 1890
1155 Etc 이클립스(Eclipse) 유용한 단축키 ㅋㅋ hooni 2013.04.23 21819
1154 Develop 이어서 작업할 내용~ secret hooni 2013.11.21 0
1153 Develop 웹페이지 성능 테스트 툴 설명 hooni 2013.04.23 27507
1152 Etc 웹 보안 논문 주제 2016 secret hooni 2016.11.28 0
1151 Etc 원어민이 매일 쓰는 일상표현 150개 file hooni 2023.09.17 1299
1150 Etc 영작 연습을 위한 실용영어 문장 1001개 (1~500) hooni 2013.06.21 30600
1149 Etc 영어의 12 시제 (The twelve tenses of English) hooni 2013.07.12 15771
1148 Etc 영어공부에 도움될만한 사이트 모음 hooni 2013.05.14 22679
1147 Etc 영어. 외우면 도움되는 필수영어회화 표현 file hooni 2013.09.09 21019
1146 Etc 영어. 불규칙 동사 정리 file hooni 2017.10.04 3627
1145 Etc 영어. 반드시 외워야 할 영어 숙어 2 file hooni 2016.07.07 6413
1144 Etc 영어. 반드시 외워야 할 문장 패턴 100개 file hooni 2023.06.08 1338
1143 Etc 영어. 반드시 외워야 할 단어 file hooni 2016.07.07 2050
1142 Etc 영어 아주 쉬운 영작문 강의 01~60 secret hooni 2013.06.25 0
Board Pagination Prev 1 2 3 4 5 ... 74 Next
/ 74