본문 바로가기

프로그래밍49

[자료구조] 연결리스트 (Linked List) 연결리스트(Linked List)란?연결리스트 또는 링크드리스트(linked list)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조이다. 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당한다. 단일 연결리스트, 이중 연결리스트, 원형리스트 등이 있다. 1) 특징- 크기가 고정되어 있지 않기 때문에 데이터의 추가/삭제가 용이하다.- 빈 엘리먼트는 허용하지 않지만(값에 Null을 넣을 수는 있음), 중복 엘리먼트는 허용한다.- 열거(Enumerate)하여 값을 찾기 때문에 특정 데이터 접근이 어려운 단점이 있다(그러나 배열에서는 자료마다 번호가 있어서 특정한 자료를 불러내기가 편리하다).*탐색 또는 정렬을 자주 하면 배열을, 추가/삭제가 많으면 연결 리.. 2017. 3. 13.
[자료구조] 배열 (Array) 배열(Array)이란?같은 datatype을 가진 변수들의 집합. 1) 특징- 배열의 요소는 변수이며 메모리는 연속적으로 할당된다. - 배열 자체는 객체이며, 배열의 이름은 연속된 변수들을 참조하기 위한 참조값이다.- 인덱스를 통해 데이터에 바로 접근하기 때문에 데이터 접근이 용이하다.- 한번 생성된 배열의 크기는 변경할 수 없기 때문에 데이터 추가/삭제가 어렵다.- 빈 엘리먼트, 중복 엘리먼트가 허용된다.- 동기화(Synchronous)되지 않기 때문에 Thread Safe하지 않다(여러 쓰레드가 동시에 접근할 경우 문제가 발생할 수 있다). 2017. 3. 13.
[C] 메모리 관리 함수 헤더 필요 : #include 1. 동적 메모리 할당[함수] void *malloc(size_t size);[인수] 필요한 메모리 크기로 단위는 바이트 size_t size[반환] 메모리가 할당된 포인터, 메모리 확보에 실패했다면 NULL을 반환반환 값이 void 타입인 이유는 char 한개의 타입만 반환되는 것이 아니라 char, int, long, 또는 구초체 등과 같은 다양한 형태의 변수 포인터가 받을 수 있음 #include #include int main() { char *ptr_char; int *ptr_int; int ndx; ptr_char = (char *)malloc( 50); ptr_int = (int *)malloc( 50 * sizeof( int)); for ( ndx= 0; nd.. 2016. 7. 8.
[C] 날짜/시간 처리 함수 출처 : http://forum.falinux.com/ 헤더 필요 (#include ) 1. 현재시간 구하기 형태 time_t time(time_t *t)인수 time_t *t 시간정보를 받을 변수반환 time_t 1970년 1월 1일 0시부터 함수를 호출할 때 까지의 초 카운트#include #include int main() { time_t current_time; time(&current_time); printf("%ldn", current_time); printf(ctime( &current_time)); return 0; } 2. 초단위 시간을 읽기 편한 문자열로 변환하기 형태 char ctime(const time_t *t)인수 time_t *t 1970년 1월 1일 0시부터 함수를 호출할 때.. 2016. 7. 7.