C programming - Double Linked List(양방향 리스트)
간단하게 Double Linked List를 구현해 봤습니다. linked list 를 구현할 때, 사람에 따라서 head 혹은 tail에 값을 넣는 경우가 있고 그냥 비어져 있는 노드를 위치하는 경우가 있습니다. 저는 처음부터 비워져 있는 em...
간단하게 Double Linked List를 구현해 봤습니다. linked list 를 구현할 때, 사람에 따라서 head 혹은 tail에 값을 넣는 경우가 있고 그냥 비어져 있는 노드를 위치하는 경우가 있습니다. 저는 처음부터 비워져 있는 em...
간단하게 quick sort를 구현해봤습니다. merge sort의 경우 왼쪽 array를 정렬하고 오른쪽 array를 정렬한 다음, 이 둘을 함께 읽으면서 가장 작은 애부터 순차적으로 뽑아서 정렬해주는 형식을 말합니다. 이 과정에서 추가적인 메...
간단하게 merge sort를 구현해 봤습니다. quick sort는 pivot을 기준으로 작으면 다 왼쪽, 크면 다 오른쪽으로 두면서 정렳하는 방식이라면, merge sort의 경우는 왼쪽 애들은 왼쪽대로 정렬하고, 오른쪽 애들은 오른쪽 애들대...
간단하게, c로 Graph를 구현해봤습니다. Adjancency Matrix를 사용해서 구현하였습니다. 다만, adjancency matrix의 특성상 node size가 커질수록 낭비되는 메모리의 양이 많다는 것이 문제죠. 이걸 해결하려면, l...
c에서는 함수를 사용해서, 랜덤 값을 가져올 수 있습니다. 를 사용하면 난수를 만드는 첫번째 값을 조정할 수 있죠. 그냥, seed 값이 같으면, '난수 발생 순서가 같다'라고 이해하셔도 됩니다.
간단하게, C로 stack을 구현해 봤습니다. 한방햔 linked list를 사용했고, head, last를 각각 기억합니다.
보통 fibonacci는 recursion으로 많이 푸는데, stack을 사용해서 풀 수도 있죠. 아래에서 stack을 구현하여 fibonacci를 구현해봤습니다.
scanf를 사용하여 한 line을 그대로 입력받으려면 다음처럼 처리하면 됩니다. : 이 아닌 char만 입력을 받겠다는 것을 의미합니다. 따라서, 이 입력되면 입력을 멈추게 되죠.
간단하게 linked list를 만들어 봤습니다. linked list에 대한 다양한 operation을 다음과 같이 만들어 봤습니다.
저는 IDE로 vscode를 사용하고 있습니다. 요즘에는 c를 코딩할 일들이 종종 있는데요, visual studio를 설치해서 실행해보기도 했지만, 오히려 요즘 visual studio는 너무 크고 복잡해져서 가볍지 않더라고요. 그래서 저는 v...
간만에 C 언어의 struct를 복습해봤습니다. struct는 다음과 같이 정의합니다. 아래는 이라는 변수를 만들어줬는데, 얘는 하위 변수로 , 을 가지고 있다는 것을 의미하죠. 다만, 아래에서 보는 것과 같이, 이렇게 struct를 정의할 경우...
Why Enum? 일반적으로 코드에서 상수를 정의할 때는 다음과 같이 사용하죠. 를 사용해서 해당 값이 바뀌지 않도록 선언해주고, 값을 정의해줍니다. 이렇게 쓰면, 프로그래밍 중에 늘 를 쓰는 것이 아니라, 그냥 만을 써서 처리해줄 수 있죠. 물...