조회 수 11888 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
1177 System/OS 해커스랩 깨기.. 후후.. ㅋㅋ file hooni 2013.04.23 19811
1176 Etc 플라스터(Plaster) 수업 내용 secret hooni 2016.05.24 0
1175 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 17837
1174 Develop 프로그래밍에서 foo, bar 함수의 유래 file hooni 2013.06.25 22888
1173 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 17902
1172 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 12753
1171 Etc 티스토리 테이블 html,css 구문 hooni 2013.11.03 17519
1170 System/OS 콘솔에서 패스워드 걸린 zip 압축하는 명령 hooni 2018.03.02 4267
1169 System/OS 컴파일러 수업 자료(교재 : 컴파일러 입문) file hooni 2003.04.23 23439
1168 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 2826
1167 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 3496
1166 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
1165 Develop 참고하고 지울 자료.. 집에서 바야지.. ㅋㅋ file hooni 2013.04.23 14094
1164 Etc 종합시험 관련 자료 secret hooni 2017.03.15 0
1163 Etc 정보시스템(정보보안)의 위험관리 설명 hooni 2013.04.23 20577
1162 Develop 정리할 자료. file hooni 2015.07.02 2100
Board Pagination Prev 1 2 3 4 5 ... 74 Next
/ 74