본문 바로가기

Algorithm11

20210201(월) 자료구조 스택(Stack) 일시적으로 저장하기 위해 사용되는 자료구조 중 하나. 후입 선출(LIFO, Last In First Out) 순서로 데이터를 입출력 한다. 입력에 push, 출력에 pop 이란 용어를 사용한다. ▼ 배열로 만든 간단한 스택 #include const static int STACK_SIZE = 10; static int stackBuffer[STACK_SIZE] = { 0 }; static int currentIndex = 0; void Push(int value) { if (currentIndex < STACK_SIZE) { currentIndex++; } else { printf("Stack Is Overwrited.\n"); return; } stackBuffer[curre.. 2021. 2. 1.
6. STD::SORT STD::SORT ▼ 관련 개념 Loop & Template & STD ▼ 구현 코드 #include template bool Compare(T lhs, T rhs) { return (lhs < rhs); } int main() { std::array iArr = { 5, 4, 3, 2, 1 }; std::sort(iArr.begin(), iArr.end(), Compare); return (0); } CPP A.11에서 사용할 수 있는 std::sort를 사용한 방법이다. A.11를 지원하는 CPP 컴파일러라면 대부분의 경우 프로그래머가 직접 구현한 정렬 함수에 비해서 높은 성능을 낸다. (한가지 정렬법으로 구현된게 아니라 경우에 따라 최적의 방법으로 바꾸는 방식으로 되어있다.) 다른 알고리즘 문제를 .. 2021. 1. 27.
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.