[알고리즘, C] 퀵 정렬(Quick Sort) 구현
·
내가 공부한 것들/자료구조 & 알고리즘
[QuickSort.c] /* * 알고리즘 - 퀵 정렬(Quick Sort) * 파일명: QuickSort.c * 파일 버전: 0.1 * 작성자: Sevenshards * 작성 일자: 2023-11-26 * 이전 버전 작성 일자: * 버전 내용: 간단한 퀵 정렬 구현 * 이전 버전 내용: */ #include // 데이터 이동(교환)에 사용 void Swap(int arr[], int idx1, int idx2) { int temp = arr[idx1]; arr[idx1] = arr[idx2]; arr[idx2] = temp; } // 피벗의 중간값을 구하기 위해 정의한 함수 int MedianOfThree(int arr[], int left, int right) { // 배열로 가장 첫 번째 인덱스, ..
[알고리즘, C] 병합 정렬(Merge Sort)의 구현
·
내가 공부한 것들/자료구조 & 알고리즘
[MergeSort.c] /* * 알고리즘 - 병합 정렬(Merge Sort) * 파일명: MergeSort.c * 파일 버전: 0.1 * 작성자: Sevenshards * 작성 일자: 2023-11-26 * 이전 버전 작성 일자: * 버전 내용: 간단한 병합 정렬 구현 * 이전 버전 내용: */ #include #include // 병합 과정 void MergeTwoArea(int arr[], int left, int mid, int right) { int front_Idx = left; // 첫 번째 인덱스(가장 왼쪽) int rear_Idx = mid + 1; // mid(중간)의 바로 다음 -> 오른쪽의 맨 첫 번째 인덱스 int i; int* sortArr = (int*)malloc(sizeof..
[알고리즘, C] 힙 정렬(Heap Sort) 구현
·
내가 공부한 것들/자료구조 & 알고리즘
https://sevenshards.tistory.com/9 [자료구조, C] 배열 기반의 힙(Heap) 구현 [Heap.h] /* * 비선형 자료구조 - 배열 기반의 힙(Heap) * 파일명: Heap.h * 파일 버전: 0.2 * 작성자: Sevenshards * 작성 일자: 2023-11-24 * 이전 버전 작성 일자: 2023-11-24 * 버전 내용: 우선 순위 판단 기준을 힙에 sevenshards.tistory.com 이전에 작성했던 힙을 이용하여 정렬을 수행. 그래서 기존에 작성했던 Heap.h, Heap.c를 이용하였다. [HeapSort.c] /* * 알고리즘 - 힙 정렬(Heap Sort) * 파일명: HeapSort.c * 파일 버전: 0.1 * 작성자: Sevenshards * 작..
[알고리즘, C] 삽입 정렬(Insertion Sort) 구현
·
내가 공부한 것들/자료구조 & 알고리즘
[InsertionSort.c] /* * 알고리즘 - 삽입 정렬(Insertion Sort) * 파일명: InsertionSort.c * 파일 버전: 0.1 * 작성자: Sevenshards * 작성 일자: 2023-11-26 * 이전 버전 작성 일자: * 버전 내용: 간단한 삽입 정렬 구현 * 이전 버전 내용: */ #include void InsertionSort(int arr[], int n) { int i, j; int insertData; for (i = 1; i 첫 번째 요소는 데이터가 정렬이 되었다고 보기 때문 { insertData = arr[i]; // 정렬 대상을 별도로 저장 for (j = i - 1; j ..
[알고리즘, C] 선택 정렬(Selection Sort) 구현
·
내가 공부한 것들/자료구조 & 알고리즘
[SelectionSort.c] /* * 알고리즘 - 선택 정렬(Selection Sort) * 파일명: SelectionSort.c * 파일 버전: 0.1 * 작성자: Sevenshards * 작성 일자: 2023-11-26 * 이전 버전 작성 일자: * 버전 내용: 간단한 선택 정렬 구현 * 이전 버전 내용: */ #include void SelectionSort(int arr[], int n) { int i, j; int maxIdx; // 우선 순위가 가장 높은 인덱스 값 int temp; for (i = 0; i < n - 1; i++) { maxIdx = i; // 인덱스 값은 i로. 맨 처음이라면 0부터 for (j = i + 1; j < n; j++) { if (arr[j] < arr[ma..
[알고리즘, C] 버블 정렬(Bubble Sort) 구현
·
내가 공부한 것들/자료구조 & 알고리즘
[BubbleSort.c] /* * 알고리즘 - 버블 정렬(Bubble Sort) * 파일명: BubbleSort.c * 파일 버전: 0.1 * 작성자: Sevenshards * 작성 일자: 2023-11-26 * 이전 버전 작성 일자: * 버전 내용: 간단한 버블 정렬 구현 * 이전 버전 내용: */ #include void BubbleSort(int arr[], int n) { int i, j; // 반복문에 쓰일 변수 i, j int temp; // 변수 swap에 사용할 임시 변수 for (i = 0; i < n - 1; i++) // 데이터가 n개라면 n-1만큼의 반복을 수행하여 정렬 진행 { for (j = 0; j < (n - i) - 1; j++) // 교환이 이뤄지는 부분. 정렬되어 가면..
sevenshards
'정렬' 태그의 글 목록