디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C로 구현한 더블링크드 리스트 샘플 - 꼬꼬마를 위하여

퍼그왕(113.10) 2011.10.03 18:31:22
조회 108 추천 0 댓글 1

입출력은 구현하지 않았음.

리스트 순회하기는 for문을 보라.



#include <stdio.h> 

#include <stdlib.h> 



typedef struct{ 

    int number; 

    int point; 

}data;



struct node{ 

    data mydata; 

    struct node* Next; 

    struct node* Prev; 

};



typedef struct node NODE; 



NODE *Head, *Tail; 



void append_a_node(NODE *); 

void insert_a_node(NODE *, NODE *); 

void remove_a_node(NODE *); 

void delete_all_node(void); 

void init_node(void); 



int main(void) { 

    NODE *mynode; 


    init_node(); 



    /* add some numbers to the double linked list */ 

    mynode = (NODE *)malloc(sizeof(NODE)); 

    mynode->mydata.number = 99; 

    mynode->mydata.point = 88; 

    append_a_node(mynode); 



    /* print the list */ 

    for(mynode = Head->Next; mynode->Next != NULL; mynode = mynode->Next) { 

        printf("%d\\n", mynode->mydata.number);  

        printf("%d\\n", mynode->mydata.point); 

    } 

  

    /* destroy the list */ 

    delete_all_node();



    return 0; 



void append_a_node(NODE *mynode) { 

    insert_a_node(mynode, Tail); 



void insert_a_node(NODE *mynode, NODE *after) { 

    if(after->Prev == NULL) 

            return; 

    mynode->Prev = after->Prev; 

    mynode->Next = after; 

    after->Prev = mynode; 

    mynode->Prev->Next = mynode; 



void delete_all_node() 

    while(Head->Next != Tail) 

            remove_a_node(Head->Next); 

    free(Head); 

    free(Tail); 



void remove_a_node(NODE *mynode) { 

    if(mynode->Prev == NULL || mynode->Next == NULL) 

            return; 


    mynode->Next->Prev = mynode->Prev; 

    mynode->Prev->Next = mynode->Next; 


    free(mynode); 



void init_node(void) 

    Head = (NODE *)malloc(sizeof(NODE)); 

    Tail = (NODE *)malloc(sizeof(NODE)); 

    Head->Prev = NULL; 

    Head->Next = Tail; 

    Tail->Prev = Head; 

    Tail->Next = NULL; 

}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
279565 ㅋㅋ 벌레 이새퀴도 이쪽 분야 일텐데 ㅋㅋ [2] blackd갤로그로 이동합니다. 11.10.10 95 0
279564 금융권 솔루션 si 업체 병신 같을까?? [2] 이메지네이션(116.124) 11.10.10 140 0
279563 자바에서 사용자 정의 타입 설정? [2] abbey road갤로그로 이동합니다. 11.10.10 52 0
279562 으엌.. 내가 다 아프네 ;; [1] 534F444D61737465갤로그로 이동합니다. 11.10.10 57 0
279559 affilliateEXE 언패커 있으신분 계신가요?.. dll(211.238) 11.10.10 127 0
279557 엊그제 2차원 배열 정방행렬에 대해서 질문한 사람입니다. 노력끝에 많이 [1] 헬퍼(124.3) 11.10.10 87 0
279556 [퍼온 글] 하청업체의 입장에서 바라본 애플과 삼성 [2] 분당살람갤로그로 이동합니다. 11.10.10 158 1
279555 곽형은 [1] 三didas갤로그로 이동합니다. 11.10.10 91 0
279554 디씨 끊을려면, 담배를 피거나, 직장을 관둬야 할꺼 같아 ... [7] blackd갤로그로 이동합니다. 11.10.10 112 0
279552 곽씨는 나꼼수를 나가봐라~ 강추다~~ 거칠게갤로그로 이동합니다. 11.10.10 34 0
279550 형들 내가 너무 어렵게 생각하는걸까? [14] +어게인갤로그로 이동합니다. 11.10.10 157 0
279549 어익후 프겔에 버그가 돌아다니넼ㅋㅋㅋㅋㅋ 거칠게갤로그로 이동합니다. 11.10.10 62 0
279548 아오 이거 천점만 넘겨봐... [2] 534F444D61737465갤로그로 이동합니다. 11.10.10 81 0
279545 벌레야~ 나 근무시간에 디씨질 거슬리냐? 넌 취업은 하고 있냐? ㅋㅋ [2] blackd갤로그로 이동합니다. 11.10.10 89 0
279543 아 완전잉여롭다. [3] 개떙보갤로그로 이동합니다. 11.10.10 56 0
279542 c# 고수님들 도와주세요! [3] souladin(58.103) 11.10.10 56 0
279541 초짜가 코딩해서 돈벌수 있는 방법 없어??? [3] ttttt(117.16) 11.10.10 92 0
279540 내가 자바를 싫어하는 이유 (부제: 함수포인터에 대한 고찰) [2] 비밀의계곡갤로그로 이동합니다. 11.10.10 142 0
279539 여자들 화나게 하는 방법 ㅋㅋㅋㅋ [1] blackd갤로그로 이동합니다. 11.10.10 153 0
279538 결국 한국형 os는 포기한듯.... [1] 거칠게갤로그로 이동합니다. 11.10.10 109 0
279537 아이폰4S 은글 땡긴다 [4] 분당살람갤로그로 이동합니다. 11.10.10 109 0
279534 스마트폰 뭐쓰지?/ 넥서스s 베가 레이서 [3] 이메지네이션(116.124) 11.10.10 187 0
279533 칼이란 게 되게 사용하기 어려운 툴인 듯 [3] 분당살람갤로그로 이동합니다. 11.10.10 92 0
279530 신기한 거 발견 [7] 분당살람갤로그로 이동합니다. 11.10.10 118 0
279529 알고리즘을 잘하려면 어떤 책을 봐야 할까?? [1] 거칠게갤로그로 이동합니다. 11.10.10 111 0
279528 난 코딩을 사랑한다 좋아 죽겠다 코딩맨(121.137) 11.10.10 51 0
279527 도배 풀렸다 :) +어게인갤로그로 이동합니다. 11.10.10 47 0
279524 스택 궁금한게 있어요 PIAGET갤로그로 이동합니다. 11.10.10 50 0
279523 그럼 최소 어디까지 선을그어야하는거지? 三didas갤로그로 이동합니다. 11.10.10 50 0
279522 흠.. 디바이스에서 이미지 생성하는게 더 빠른거같다. Regi☆갤로그로 이동합니다. 11.10.10 39 0
279521 아톰으로는 코딩어렵고 [7] 三didas갤로그로 이동합니다. 11.10.10 116 0
279520 OpenGL 초보에게 추천할만한 책이 있을까? [2] 정조교(163.180) 11.10.10 87 0
279518 터보씨 필요한 사람있냐? 이모군(175.114) 11.10.10 42 0
279517 리눅스에서 scp 쓰자나.. 그거 말고 원격지 디랙토리 만드는 법 있나? [4] iljeomobolt갤로그로 이동합니다. 11.10.10 97 0
279515 c언어 구구단좀여 [3] c언어(14.53) 11.10.10 149 0
279512 이미지 불러올때 그냥 픽셀찍는거랑 디바이스에서 이미지찍어주는거랑 [3] Regi☆갤로그로 이동합니다. 11.10.10 60 0
279511 횽들아 요즘 자바 프리단가 시세 어느정도임? [4] 웹프로그래머갤로그로 이동합니다. 11.10.10 116 0
279510 형들 오픈지엘로 개체인식 가능? [17] +어게인갤로그로 이동합니다. 11.10.10 124 0
279509 외국으로 뜨기 위해 [2] 534F444D61737465갤로그로 이동합니다. 11.10.10 90 0
279508 FTP에서 읽기는 불가로 하고 쓰기만 가능하게 하려면 어떻게 해야해? [5] 정조교(163.180) 11.10.10 77 0
279507 오줌맛햄버거 vs 햄버거맛오줌 [2] 534F444D61737465갤로그로 이동합니다. 11.10.10 74 0
279506 질문 1개만 더할껭 [2] 붉은동전갤로그로 이동합니다. 11.10.10 51 0
279505 제가 여기 이제 한번이라도 더오면 고추를 자른후 [2] lol(110.174) 11.10.10 107 0
279503 LNK2001,1120은 왜 뜰까 ㅠㅠ [5] 블러디갤로그로 이동합니다. 11.10.10 71 0
279502 으아아아앜아ㅏ카캌아ㅏㅇㅋ캉캉ㅇ카 C########## [7] McHello갤로그로 이동합니다. 11.10.10 86 0
279500 입출력함수로 버퍼에 저장했다가 한번에 변수에 저장시킬 수 있을까요? dad(220.149) 11.10.10 40 0
279498 형들 c언어 포인트 질문좀~ [7] 붉은동전갤로그로 이동합니다. 11.10.10 99 0
279497 데이터 코드화 시키려다가 멘탈 붕괴중.... [7] 꼬꼬월드갤로그로 이동합니다. 11.10.10 112 0
279495 for 따위 안쓰고 5 * 를 구하는방법 [2] lol(110.174) 11.10.10 113 0
279494 형들! 아직 동영상 모자이크 지울수 있는 프로그램 안나왔지??? [11] 무무(59.24) 11.10.10 173 0
뉴스 '금쪽같은 내 스타' 엄정화X송승헌 & 장다아X이민재, 25년 세월 순삭? 비포애프터 로맨스 포스터 공개! 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2