본문 바로가기

링크드리스트

[면접 대비] C를 사용한 linked list 구현 연결 리스트 전체를 출력하는 코드 예 typedef struct node{ int value; node_t* next; } node_t; void print_node(const node*t head) { node_t* p = head; while(p != NULL){ printf("%d", p->value); p = p->next; } } 헤드 노드 node_t* head = NULL; 해제코드 void destroy(node_t* head) { node_t* p = head; while(p != NULL){ node_t* next = p->next; free(p); p = next; } } node_t* haed = NULL // 생략 destroy(head); head = NULL; 삽입코드 맨 앞에.. 더보기
[포프 tv 복습] C 자료구조 기초 자료구조 기초 자료구조란? - 컴퓨터에서 여러 자료들을 조직적, 체계적으로 저장하는 방법 - 보통 동일한 자료형을 여럿 저장하는 ㅜㄱ조를 의미 - 자료구조에 따라 요소들 사이의 관계를 정의하는 규칙이 있음 - 다음 요인에 따라 상황마다 보다 효율적인 자료구조가 존재 - 데이터에 접근하는 빈도 - 데이터에 접근하는 방법(ex. 삽입, 검색, 읽기, 지우기 등) 자료구조의 효율성 - 효율성은 주로 시간 복잡도를 말함 - 공간 복잡도를 포함하는 경우도 있음 - 따라서 주로 Big-O 표기법을 사용 - 보통 효율성을 논할 때는 하드웨어 최적화를 고려 안 한 이론이 전부 - 적은 용량의 데이터는 그렇지 않을 수 있음 배열 메모리 한 덩어리로 표현 가능한 가장 간단한 자료구조 여러 자료들을 그 메모리 덩어리 안에 .. 더보기