DataStructure 23

BubbleSort (버블정렬)

버블정렬은 많은 사람들이 알 것이라 생각한다. 배열이 주어졌을 때, 앞에서부터 하나하나 비교해서 정렬하는 방식이다. 하나하나 비교해야하기 때문에 시간이 오래 걸린다는 단점이 있지만, (O(n^2)) 정렬해야 할 것이 별로 없을 때는 빠르다는 특징이 있다.  코드)#include void BubbleSort(int* arr, int size);void PrintArr(int* arr, int size);int main(void) { { int arr[] = {5, 1, 4, 2, 3}; int size = sizeof(arr) / sizeof(int); BubbleSort(arr, size); } return 0;}void BubbleSort(int* arr, int..

DataStructure 2024.06.19

SelectionSort (선택 정렬)

선택 정렬이란, 배열에서 가장 작은 값을 찾아서 앞으로 가져오는 방식을 반복하는 정렬 방법입니다. 글로만 보면 이해가 안될수도 있으니 그림으로 살펴봅시다.  이렇게 가장 작은 수를 찾아서 정렬을 완료합니다.   코드)#include #include bool CheckSorted(int* arr, int size); // 정렬되었는지 확인할 함수void PrintArr(int* arr, int size); // 배열을 출력하는 함수int main(void) { int arr[] = {8, 3, 2, 5, 1, 1, 2, 5, 8, 9}; int size = sizeof(arr) / sizeof(int); assert(size > 0); // 배열의 크기가 1보다 작으면 오류 발생하도록. ..

DataStructure 2024.06.19

Swap

두개의 값이 주어졌을 때 , 서로 값을 바꾸는 것을 swap 이라고 한다.  방법 1) 포인터를 이용하는 방식이다.#include void MySwapPrt(int* a, int* b);int main(void){ int x = 10; int y = 5; std::cout    방법 2) 포인터 대신 & 를 이용하는 방법도 있다. 이 방법을 사용하면 *를 사용하지 않아 보기에 깔끔해 보인다.#include void MySwapRef(int &a, int &b);int main(void){ int x = 10; int y = 5; std::cout   방법 3) swap 을 할 때 반드시 temp 를 사용해야 한다고 생각했는데, 아니었다. 사칙연산을 이용하면 temp를 사용하지 않고도 가..

DataStructure 2024.06.19