전체 글 56

삽입 정렬 (Insertion Sort)

삽입 정렬이란 자료 구조를 순차적으로 순회하면서 순서에 어긋나는 요소를 찾고, 그 요스를 올바른 위치에 다시 삽입해나가는 정렬 알고리즘입니다.  위는 구조에 대한 예시를 그림으로 설명하는 겁니다. 왼쪽부터 오른쪽 방향으로 데이터를 읽어나가다 수가 작은 값을 왼쪽으로 옮기고 큰 값을 오른쪽으로 옮기는 형태를 취하고 있습니다. #include #include // srand, rand#include // time(NULL)#define MAX_LEN 10// _startIdx 부터 _endIdx 까지를 한 칸씩 이동void LeftMove(int* _pArr, int _startIdx, int _endIdx);void InsertionSort(int* _pArr);void main(){ // 삽입정렬..

선택 정렬(Selection Sort)

선택 정렬이란 배열을 반복적으로 순회하며 가장 작은(또는 큰) 원소를 찾아서 정렬되지 않은 부분의 시작 위치와 교환하는 것입니다.선택 정렬은 배열 전체를 한 번 읽고 거기서 가장 작은(큰) 값을 맨 왼쪽으로 옮기는 형태의 정렬 방식입니다. 배열의 크기 만큼 반복한 결과값을 가져오는 정렬입니다. #include #include #include #define MAX_LEN 5void SelectionSort(int* _pArr);void main(){ // 선택정렬(Selection Sort) // 빅-오 표기법(Big-O Notation) srand(time(NULL)); //srand: 난수 생성 함수 //time(NULL) 현재 시간 int arr[MAX_LEN] = { 0 }; //5 크기의 정..