본문 바로가기

<ALGORITHM>/NOTE9

20210121(목) 오늘은 알고리즘 말고도 다양한 C 표준 함수에 대해서도 배웠다. rand() 함수 Random의 약자로 { 0 ~ RAND_MAX } 범위에서 무작위 Int형 값을 반환하는 함수다. C언어의 표준 라이브러리 중 하나인 라이브러리에 매크로로 최댓값이 정의되어 있는데 운영체제에 따라 이 최댓값의 크기가 다 다르다. 리눅스, OpenBSD는 { #define RAND_MAX 2147483647(INT_MAX) } 라 정의 되어있고, 마이크로소프트社의 윈도우는 { #define RAND_MAX 0x7fff(32767) } 라고 정의되어있다. ▼ 예시 코드 #include #include int main() { printf("RAND : %d\n", rand()); return (0); } srand() 함수 S.. 2021. 1. 21.
20210120(수) 삽입 정렬(Insertion Sort) 범위를 늘려가면서 검사하는 것이 특징인 정렬법. ▼ 전체 코드 #include int Compare(int lhs, int rhs); void Swap(int* lhs, int* rhs); void InsertionSwap(int* pArr, int length); void PrintArray(int* pArr, int length); int main() { int iArr[5] = { 5,4,3,2,1 }; PrintArray(iArr, 5); InsertionSwap(iArr, 5); PrintArray(iArr, 5); return (0); } int Compare(int lhs, int rhs) { return (lhs - rhs); } void Swap(i.. 2021. 1. 20.
20210119(화) 선택 정렬(Selection Sort) ▼ 이론 for(i = n; i > 1; i--) max = 0; for(j = 1; j 1; i--) { int max = 0; for (i.. 2021. 1. 19.
210118(월) 순차 정렬(Sequntial Sort) 한 자리씩 순차적으로 정렬한다고 해서 순차 정렬. 내부 순환문이 한번 다 돌면 그 자리는 최솟값이 확정되고 다음 자리로 넘어간다. ▼ 개념 for (i = 0 > n-1) for (j = i+1 > n) if (Compare(arr[i], arr[j]) > 0) Swap(arr[i], arr[j]); ▼ 코드 #include int Compare(int lhs, int rhs); void Swap(int* lhs, int* rhs); int main() { const int arrMax = 5; int iArr[5] = { 0,3,4,2,1 }; printf("> BEFORE\n"); for (int i = 0; i < arrMax; i++) { printf("iA.. 2021. 1. 18.