본문 바로가기

컴퓨터158

[C언어] 링크드 리스트로 구현한 int 저장형 스택 예제 LinkedListStack.h #ifndef LINKEDLIST_STACK_H #define LINKEDLIST_STACK_H #include #include #include typedef struct tagNode { int Data; struct tagNode * NextNode; } Node; typedef struct tagLinkedListStack { Node * List; Node * Top; } LinkedListStack; void LLS_CreateStack (LinkedListStack ** Stack); void LLS_DestroyStack (LinkedListStack * Stack); Node* LLS_CreateNode (int * Data); void LLS_Destroy.. 2012. 8. 6.
[C언어] 표준 입력 함수( getchar() , getche(), getch(), gets(), scanf() ) * 문자 입력함수1. getchar() => stdio.h 존재.=> Enter : 입력종료 + Enter값도 \n 값으로 키보드 버퍼(KeyBoard Buffer)에 저장.=> Space : 공백으로 입력처리.=> 단점 : getchar()로 숫자를 입력받을때, 두자리 숫자를 못받는다. 12를 1과 2로 따로 인식해 버린다.=> 키보드 버퍼(KeyBoard Buffer)로 부터 입력을 받음. fflush(stdin) 필요.=> Enter가 입력될 때 까지 키보드 입력값들을 계속해서 키보드 버퍼(KeyBoard Buffer)에 저장.=> 키보드 버퍼에 존재하는 data중에서 버퍼 포인터가 위치한 곳으로부터 1byte 분량을 꺼내오고 버퍼 포인터를 1byte 만큼 이동시키는 함수이다. ex) 처음 char.. 2012. 8. 1.
[알고리즘] 알고리즘 성능 좋은 알고리즘 이란?? 메모리를 적게 먹고속도가 빠르고간결한알고리즘을 말한다. 알고리즘 성능을 표현하는 방법 점근 표기법 : 알고리즘의 수행 시간을 대략적으로 나타내는 방법을 말한다. 최고차 항을 제외한 나머지 모든 항과 모든 계수를 제거한다.O(Big O) 표기법 : 최악의 경우Ω(BIg Omega) 표기법 : 최선의 경우Θ(Big Theta) 표기법 : 최악의 경우와 최선의 경우를 모두 만족하는 경우?????? 일반적으로 O(Big O) 표기법을 가장 많이 쓴다. ex) 데이터의 크기 n에 대한 최대의 수행 시간이 2n^2+4n인 알고리즘의 경우O(n^2) 이다. 가장 빠른 접근 속도를 갖고 있는 자료구조 이진 탐색 트리 해시 테이블 가장 빠른 정렬 속도를 갖고 있는 자료구조대규모 데이터 : 퀵 정렬.. 2012. 7. 29.
[C언어] #ifndef~ #endif ♠ 구조체 중복 정의로 인해 발생하는 오류 ☞ 일단 main.c에서 point.h를 포함한다. 그리고 pointOperation.h를 포함하는데, pointOperation.h가 point.h를 포함하므로 결과적으로 main.c는 point.h를 두 번 포함하는 셈이 된다. 전처리기는 이를 문제삼지 않는다. 전처리기는 #include 문의 명령대로 main.c에 구조체 point의 정의를 두 번 포함시킬 뿐이다. 문제는 컴파일러가 일으킨다. 컴파일러는 point 구조체의 정의가 두 번 등장했음 을 인식하고 에러메시지를 발생시킨다. ♠ 중복 정의를 피하기 위한 매크로 #ifndef ~ #endif ☞ ifndef는 "If not defined"의 약자로서 "~을 정의(define)하지 않았다면" 이라는 뜻.. 2012. 7. 29.