내 소식

✨컴공주✨ [1052682] · MS 2021 (수정됨) · 쪽지

2022-06-02 01:23:13
조회수 375

컴공 일기46

게시글 주소: https://dev.orbi.kr/00056939169

이번엔 노드 추가부분을 더블포인터를 이용해서 구현했습니다.

저번에는 더미 노드를 썼지만, 이런 방식도 꽤나 재미있지요.

아직 노드 삭제, 메모리 해제, 삽입, 탐색 로직을 구현하지 않아서 미완성본입니다.


현재는 메모리 릭 상태겠죠. 

오늘은 여기까지 :)



#include <stdio.h>

#include <stdlib.h>


typedef struct Node

{

   int Data;

   struct Node* NextNode;

} Node;


Node* SLL_CreatNode(int NewData)

{

   Node* NewNode = (Node*)malloc(sizeof(Node));

   NewNode -> Data = NewData;

   NewNode -> NextNode = NULL;


   return NewNode;

}


void SLL_DestroyNode(Node* Node)

{

   free(Node);

}


void SLL_AppendNode(Node** head, Node* NewNode)

{

   if ( (*head) == NULL )

   {

      *head = NewNode;

   }

   else

   {

      Node* Tail = (*head);

      while(Tail -> NextNode != NULL)

      {

         Tail = Tail->NextNode;

      }


      Tail->NextNode = NewNode;

   }

}


int main() {

   Node* List = NULL;

   Node* NewNode = NULL;

   

   NewNode = SLL_CreatNode( 117 );

   SLL_AppendNode(&List, NewNode);


   NewNode = SLL_CreatNode (119 );

   SLL_AppendNode(&List, NewNode);

   return 0;


   

}

rare-백예린입니다

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

✨컴공주✨ [1052682]

쪽지 보내기