GoWoong의 개발 블로그
close
프로필 배경
프로필 로고

GoWoong의 개발 블로그

  • 분류 전체보기 (149)
    • 크래프톤 정글 (62)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (16)
      • CS (15)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
  • 홈
  • 글쓰기

링크드리스트(LinkedList) 구현 (C언어) : Part.6 - 수정 및 회고

지금까지 링크드 리스트를 구현했다. 하지만 내가 처음 구현할 때 미처 생각지 못하고 넘어갔던 내용이 있다. 모든 함수를 Node를 이용해 호출하고 Node를 인자로 담고 있었다. 그렇다 보어 어떤 함수는 이중 포인터를 사용하는 함수가 되어 버렸다. 이 것을 수정하려고 한다.1. 구현 목표구조체 ll (linkedlist) 를 선언하고 모든 코드를 ll을 사용하도록 수정한다.typedef struct linkedlist { Node* head; int size;} ll;지금까지 구현했던 코드의 가장 앞 단에 위와 같은 코드를 추가할 것이다. 이 ll 구조체는 head라는 노드 타입의 포인터 변수이고 추가로 size라는 int 타입 변수를 가진다.Node** head와 같은 방식에서 ll 구조체(..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.5 - reverse_list, sort_list

지금까지 삽입, 삭제, 조회와 같은 기본 적인 구현을 진행했다. 아마 이번 포스팅 내용이 가장 어렵다고 느낄 수 있다. 바로 뒤집기와 정렬이다.1. 구현 목표reverse_list : 링크드 리스트의 노드들의 순서를 뒤짚는다.sort_list : 링크드 리스트 내부의 값들의 순서를 정렬한다.2. 기능 구현🔨 reverse_list링크드 리스트의 순서를 reverse 하기 위해 어떤 작업을 수행해야 할까?구현 아이디어이다.prev, cur, next라는 노드 포인터 변수를 만들고 각각 NULL, head, NULL로 초기화한다.현재 노드가 NULL 즉 가장 마지막까지 갈 때까지 while 반복을 진행한다.next 값을 현재 cur 노드의 next 노드로 저장한다.cur 노드의 다음 값을 prev 즉 이전..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.4 - delete_node, insert_at

4번째 포스팅이다. 이번 포스팅에서는 노드를 삭제하는 delete_node와 특정 인덱스 위치에 노드를 삽입하는 insert_at 기능을 구현해 보려고 한다.1. 구현 목표insert_at : 링크드 리스트의 중간 원하는 인덱스에 데이터를 추가한다.delete_node : 원하는 값이 있는 노드를 링크드리스트에서 삭제한다.이번 구현은 이전과 비교해 조금 복잡하게 느껴질 수 있다.2. 기능 구현🔨 insert_at링크드 리스트의 특정 index 위치에 data를 가지는 node를 추가해야 한다.구현 아이디어새로운 노드를 먼저 생성해 둔다.만약 index 값이 0 이라면 이 전에 구현했던 insert_front와 같이 추가를 하면 된다.현재 노드를 지정할 cur 변수를 만들고 head로 지정한다.count..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.3 - insert_front, print_list, find_node

이 전 포스팅에서는 링크드 리스트를 생성하고 값을 넣고 링크드 리스트를 해제하는 과정을 다루었다. 이번에는 링크드 리스트의 가장 앞에 노드를 추가하는 insert_front 함수가 현재 링크드 리스트에 있는 값을 전부 출력하는 print_list 마지막으로 링크드 리스트에서 특정 노드를 찾는 find_node까지 구현할 것이다.1. 구현 목표다음과 같은 기능을 이번에 구현할 것이다.insert_front : 링크드 리스트 가장 앞에 추가print_list : 현재 리스트 안의 값 전부 출력하기find_node : 링크드 리스트 안의 특정 값 찾기2. 기능 구현🔨 insert_front이 전 포스팅에서 insert_end를 구현했다. 마지막에 추가할 때는 링크드 리스트의 끝까지 찾아가는 반복문을 실행했는..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.2 - insert_end, free_lsit

이 전 포스팅에서 초기 설정을 진행했다. 이제 본격 적으로 구현을 시작할 것이다. 시작에 앞서 아마 실행을 해 봤을 수. 있는데 실행하면 현재 테스트 코드에서 호출하고 있는 함수들이 실제 구현되지 않았다고 에러를 발생시킬 것이다. 그래서 우리가 구현을 끝냈거나 구현을 진행할 예정인 테스트 코드는 제외하고 나머지는 주석 처리를 해 두면 된다.1. 구현 목표우리가 이번에 구현할 기능은 아래와 같다.create_node : 링크드 리스트에 추가할 노드 생성insert_end : 링크드 리스트의 끝에 노드 추가free_list : 링크드 리스트 전체 삭제 및 동적 메모리 해제링크드 리스트는 노드라고 하는 요소들을 연결해서 구현한다고 할 수 있고 그 말은 링크드 리스트를 구현하기 위해 먼저 노드를 만들 수 있어야..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.1 - 초기 환경 설정

크래프톤 정글 8기 37일 차 TIL 링크드리스트 구현하기 - C언어를 이용해 링크드 리스트를 직접 구현해보려고 한다. 아무래도 정글에서 준 과제는 링크드 리스트의 특성을 이용해 특정 함수를 구현하는 것을 요구하는데 과제만 해결하는 것을 넘어 직접 구현을 해 보면서 익히는 것이 더 좋을 것 같아서 직접 구현을 진행해 보려 한다. 링크드 리스트에 대해서 부족하지만 정리했던 내용을 확인하려면 이 전 포스팅 했던 글을 확인하는 것도 좋을 것 같다.2025.04.10 - [크래프톤 정글] - 크래프톤 정글 8기 - TIL 31일차 (링크드 리스트 - C)링크드 리스트 구현 전 준비본격 적으로 구현을 시작하기 전 준비해야 할 사항이 있다. 먼저 나는 구현의 검증을 담당해 줄 테스트 코드를 미리 작성해 두었다. 그..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms
  • navigate_before
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ···
  • 25
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (149)
    • 크래프톤 정글 (62)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (16)
      • CS (15)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
최근 글
인기 글
최근 댓글
태그
  • #AWS 자격증
  • #AWS Community Day
  • #AWSKRUG
  • #saa-c03
  • #Cloud Practitioner
  • #serverless
  • #IOT
  • #aws #iot
  • #AWS
  • #CLF-C01
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바