일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- project3
- 연결리스트
- 네트워크
- 크래프톤정글4기
- User Stack
- kraftonjungle
- 핀토스
- C
- c#
- 4기
- 티스토리챌린지
- 백준
- 크래프톤 정글 4기
- anonymous page
- BFS
- 알고리즘수업-너비우선탐색2
- 크래프톤 정글
- 오블완
- 크래프톤정글
- 추상클래스와인터페이스
- pintos
- KRAFTON JUNGLE
- 다익스트라
- 이벤트 함수 실행 순서
- 알고리즘
- 전쟁-전투
- Unity
- 파이썬
- 유니티
- TiL
- Today
- Total
목록C (4)
말감로그
📆2024.2.11 오늘 과제 연결리스트 다 풀었다!! 사실 스스로 혼자 풀었다고는 할 수 없고 챗 GPT의 도움과 동료분들의 도움으로 풀었는데 그래도 하나하나 이해하고 넘긴 부분은 뿌듯하다. 내일은 스택 큐 풀고 CSAPP 책 좀 읽어봐야겠다. 과제 - 연결리스트 alternateMergeLL 두 번째 리스트의 노드를 첫 번째 리스트의 번갈아가는 위치에 삽입한다. 두 번째 리스트의 노드는 첫 번째 리스트에 번갈아가는 위치가 있는 경우에만 삽입되어야 한다. 내가 짠 코드 void alternateMergeLinkedList(LinkedList *ll1, LinkedList *ll2) { ListNode *L1 = ll1->head; ListNode *L2 = ll2->head; while(L1 != NU..
연결리스트(Linked List)란? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조이다. 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당한다. 장점 - 원하는 만큼 노드를 동적으로 추가/삭제할 수 있다. 단점 - 배열처럼 메모리공간에 정렬되어있지 않고 사방에 흩어져있어서 배열의 인덱스처럼 특정 노드에 바로 접근할 수 없다. 원리 연결리스트에서 각 칸은 노드(Node)라고 부르고, 노드는 구조체로 구현한다. struct node { int data; //데이터가 저장되는 공간, 저장할 데이터에 따라 자료형 달라짐 struct node *next; //다음 노드의 주소를 저장할 포인터 }; typedef st..
포인터(Pointer)란 데이터가 저장된 메모리의 주소값을 저장하는 변수이며, 포인터 변수라고도 한다. -> 메모리의 주소, 즉 '어디'인지(=위치 정보)를 저장하는 전용 변수 int n = 100;// 변수의 선언 int *ptr = &n;// 포인터의 선언 -> int형 ptr 포인터는 n의 주소를 가리킨다. 주소 연산자(&) - 해당 변수의 주소값을 반환한다. 참조 연산자(*) - 포인터에 가리키는 주소에 저장된 값을 반환한다. 포인터의 연산 포인터는 값을 증가시키거나 감소시키는 등의 제한된 연산만을 할 수 있다. 포인터가 가리키고 있는 주소는 각각의 포인터 타입에 따라 달라진다. char *ptr_char =0 int *ptr_int = NULL; double *ptr_double = 0x00; ..
동적 메모리 할당이란? - 컴퓨터 프로그래밍에서 실행 중(런타임)에 사용할 메모리 공간을 할당하는 것을 의미한다. - 프로그램이 실행되기 전, 컴파일 시점에 소스 코드를 읽고 메모리 공간을 확보하는 것을 정적할당 이라고 한다. - 컴파일 타임이 아닌 프로그램이 실행되는 중인 런타임에 필요한 만큼의 메모리 공간을 확보하는 것을 동적할당 이라고 한다. 동적 할당이 필요한 이유? 그때 그때 필요할 때마다 새로운 메모리 공간을 할당하는 것이 아니라, 컴파일 타임에 미리 넉넉한 메모리 공간을 확보해두면 되지 않을까?? → 가능하다. 하지만 메모리란 무한한 자원이 아니라 한정되어있다. 만약 우리가 1000000byte 사이즈의 메모리를 할당해두고 실제로는 10 byte만 사용한다면, 남은 메모리 공간을 비효율적으로..