스택 자료구조의 선언부를 먼저 살펴보자. 스택의 구조체 정의는 다음과 같다. #define MAX_STACK_SIZE 100// 스택의 최대 크기 typedef int elem_t; elem_t get_next(); char* str(elem_t e); void free_elem(elem_t e); typedef struct { elem_t data[MAX_STACK_SIZE]; int top; } stack_t; 여기서 중요한 점은 elem_t라는 타입 이름이다. 이것을 이용하므로써 요소 타입이 무엇이든 상관없이 스택 구조체와 함수들을 이용할 수 있게 된다. 예를 들어 maze를 이용하는 경우라면 벽인지, 길인지를 나타내는 문자를 스택에 넣을 요소로 사용할 수 있다. 그 경우는 typedef char ..
이번 학기 자료구조를 맡게 되어 C 언어로 자료구조를 구현하는 것을 연재해 볼까 합니다. 30년 전에 공부한 자료구조를 새로 펼쳐보니 새롭기도 하고 제대로 구현해 보는 게 C 공부에 도움이 많이 될 것 같아서 연재를 시작하게 되었습니다. 자료구조 기본 코드는 생능출판사의 C 언어로 쉽게 풀어쓴 자료구조 책과 그외 인터넷에서 참고하였습니다. 기본 코드에서 코딩스타일이나 출력 방식 등은 제가 수정하여 사용했습니다. 그리고 대부분의 자료들이 각 자료구조의 ADT에 대해 기능별 알고리듬 위주로 설명되어 있으나 저는 직접 돌려보면서 사용할 수 있도록 입력과 출력을 위한 기능을 추가해 보았습니다. 그리고 추가, 삭제 같은 것을 지원할 수 있게 만들어보려고 합니다. 자료구조 한 학기 수업으로는 사실 자료구조에 대해 ..
- Total
- Today
- Yesterday
- contains
- 스트링 +
- TypeError
- Lazy evaluation
- CompareTo
- ToString
- 이터러블
- max
- python exercise
- 지연계산
- sort key
- 이터레이터
- format
- 콜렉션
- 동적바인딩
- 스트링
- rust
- C++ 클래스
- comparable
- APPEND
- typedef
- 자바regex
- zip
- Iterator
- contentEquals
- indexof
- Camel Style
- 패턴
- python example
- follow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |