자, 지난 포스트에서 구현한 링크드 리스트를 기반으로 큐, 스택을 만들어보자. 링크드 리스트에서 대부분 구현이 되었기 때문에 설명할 내용은 많이 없다. 큐와 스택 둘 다 순회는 지원하지 않을 것이며 검색도 지원하지 않고 삽입과 삭제에 대한 것만이 존재한다. https://pronist.tistory.com/76 C언어로 자료구조 만들기 - 링크드 리스트(Linked List) 이번에는 지난 포스트에 이어서 C언어로 자료구조를 구현해볼 텐데, 이번에는 링크드 리스트다. 양 옆으로 삽입과 삭제가 가능한 양방향 링크드 리스트를 구현하고, 또한 중간에 데이터를 삽입 pronist.tistory.com 큐(Queue) 큐는 FIFO(First In First Out) 구조를 가지며 가장 먼저 삽입된 데이터가 나올..
이번에는 지난 포스트에 이어서 C언어로 자료구조를 구현해볼 텐데, 이번에는 링크드 리스트다. 양 옆으로 삽입과 삭제가 가능한 양방향 링크드 리스트를 구현하고, 또한 중간에 데이터를 삽입과 삭제가 가능하도록 만든다. 링크드 리스트(Linked List) 링크드 리스트는 정적 배열과 데크와는 다르게 주소값을 서로 연결하여 구성되어 있다. 따라서 메모리 공간이 연속으로 구성되어 있지는 않으며 독립적으로 구성하되, 대신 다음과 이전 주소를 노드에 저장하여 다음 노드와 이전 노드에 접근할 수 있도록 논리적으로 연결된 구조로 표현한다. Node.h 링크드 리스트에는 노드가 필요하다. 배열처럼 인덱싱을 통해 바로 값을 넣지 않는다. 노드에는 값, 이전 노드의 주소값, 다음 노드의 주소값이 들어가며 이는 구조체로 표현..
C언어로 자료구조를 만들어보는 것은 내가 예전에 했던 것인데, 부득이하게도 포트폴리오로써는 존재하지 않고 있기 때문에 늦었지만 다시 써보기로 했다. 이는 정보처리기사를 준비할 적에 만들어둔 코드인데, 어쩌다보니 자료구조까지 만들어버린 것이다. 만든 자료구조는 정적 배열, 데크, 링크드 리스트, 큐, 스택, 트리다. 정적 배열(Fixed Array) 정적 배열은 C언어에서 문법적으로 제공하는 기능이지만, 별도로 구조체, 함수를 이용하여 구현해보기로 했다. 물론 내부적으로 사용하는 것은 결국 기본 배열이지만 말이다. 배열은 연속된 메모리 공간이다. 따라서 가장 처음의 메모리 주소만 알고있더라도 다른 원소에 접근할 수 있다. 그래서 함수에서 배열을 받을 때 포인터로 받을 수 있는 것이다. 배열을 그림으로 표현..
[티도리 프레임워크 개발 - 2부] 티도리를 만들때 또 한 가지 주목해야 했던 점은, 티스토리 스킨 API 를 뜯어보는 일이었다. 치환자는 어떤 경로를 통해 치환되며 사용자에게 어떻게 미리보기를 보여주는가와 같은 것이며 티스토리 스킨 그 자체보다는 티스토리 플랫폼을 이해한다고 보면 될 것 같다. 이는 구현의 관점이 아니라, API(Application Programming Interface)의 관점에서 티스토리 서버와 브라우저가 어떻게 소통하는지만 대략적으로 분석하면 되는 것이다. 이것을 구현하게 되면 프로그래머블하게 티스토리 스킨을 원격지에서 조작할 수 있다. 자, 제일 먼저 해야할 것은 스킨 편집으로 들어가 개발자 도구를 열고 네트워크 탭을 활성화하는 일이다. 한 가지 알아두어야 할 점은, 티도리 프..
[티도리 프레임워크 개발 - 1부] 티도리 프레임워크의 대략적인 개요는 설명하지 않는다. 티도리 프레임워크 개발 리뷰 포스트는 티도리 프레임워크의 그 내부와 내가 왜 프레임워크를 이렇게 구성했는지 의도는 물론이고 기술적인 부분도 설명한다. 티도리 프레임워크란게 애초에 나 혼자 개인이 만든 것이고 그 용도 또한 티스토리 스킨 개발로 극히 타겟팅을 분명히 하고 있어서 사용층은 적은 편이라 사실 이 포스트가 도움이 될까 싶기는 하지만, 포트폴리오 용도이니 상관없을 것 같아서 그냥 적기로 했다. https://tidory.com 티스토리 스킨 프레임워크, 티도리(TIDORY) 오직 티스토리 스킨만을 위한 프레임워크 tidory.com 프레임워크의 동작을 알아보기 전에, 티도리 프레임워크를 구성하는 기술들과 레포..