*정렬

 

- 정렬은 물건을 크기순으로 오름차순이나 내림차순으로 나열하는 것

 

- 정렬은 컴퓨터 공학분야에서 가장 기본적이고 중요한 알고리즘 중의 하나이다.

 

 

 

#선택 정렬

 

- 선택 정렬(selection sort) : 정렬이 안된 숫자들 중 최소값을 선택하여 배열의 첫 번째 요소와 교환하는 것

 

 

 

 

 

 

 

#순차 탐색

 

- 순차 탐색(sequential search) : 배열의 원소를 순서대로 하나씩 꺼내서 탐색키와 비교하여 원하는 값을 찾아가는 방법이다.

 

 

 

 

 

 

 

 

 

 

#이진 탐색

 

- 이진 탐색(binary search) : 정렬된 배열의 중앙에 위치한 원소와 비교를 되풀이

 

 

 

 

 

 

 

 

 

 

 

 

#문자 검색 : strchr()

 

 

 

 

 

 

 

 

 

 

 

 

#전처리기(Preprocessor) : 컴파일하기 앞서서 소스파일을 처리 하는 컴파일러의 한 부분

 

 

 

 

 

 

 

 

 

 

 

#전처리기 요약

 

 

 

 

 

 

 

 

 

 

#매크로 개념

 

 

 

 

 

 

 

 

 

 

 

 

 

#매크로 종류

 

*단순 매크로

 

- 단순 매크로(macro) : 숫자 상수를 기호 상수로 만든 것

 

 

 

 

 

 

 

 

 

 

 

 

*함수 매크로

 

- 함수 매크로(function-like macro) : 매크로가 함수처럼 매개변수를 가지는 것

 

Ex) #define Square(x) ((x) * (x))

 

 

 

 

 

 

 

 

 

#함수 매크로의 장단점

 

- 함수 호출 단계가 필요없어 실행 속도가 빠르다.

 

- 소스 코드의 길이가 길어진다.

 

 

*간단한 기능은 매크로를 사용

 

- #define MIN(x,y)   ((x)) < (y) ? (x) : ((y))

- #define ABS(x)      ((x)) > 0 ? (x) : -((x))

 

 

*매크로를 한줄 이상 연장하는 방법

 

- #define PRINT(x) if(debug==1 && \

mode ==1)\

printf("%d",x);

 

 

 

 

 

#ifdef

 

- 어떤 조건이 만족되었을 경우에만 컴파일하는 조건부 컴파일 지시

 

- 조건부 컴파일을 위한 매크로

 

#if 조건이 참일 경우에는

 ... 실행

#endif

 ...여기까지

 

 

 

 

 

 

 

 

 

 

 

#if

 

- 기호가 참으로 계산되면 컴파일

 

- 조건은 상수여야 하고 논리 , 관계 연산자 사용 가능

 

 

사용 형식

 

#if 조건

    문장들 

#endif

 

- 매크로의 값이 참이면 #if와 #endif 있는 모든 문장들을 컴파일

 

 

 

 

+ Recent posts