728x90
반응형
/* Bubble Sort */
#include <stdio.h>
void BubbleSort(int arr[], int n)
{
int i, j;
int temp;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < (n - i) - 1; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main(void)
{
int arr[4] = { 3, 2, 4, 1 };
int i;
BubbleSort(arr, sizeof(arr) / sizeof(int));
for (i = 0; i < 4; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
/* Selection Sort */
#include <stdio.h>
void SelectionSort(int arr[], int n)
{
int i, j;
int maxIdx;
int temp;
for (i = 0; i < n - 1; i++)
{
maxIdx = i;
for (j = i + 1; j < n; j++)
{
if (arr[j] < arr[maxIdx])
{
maxIdx = j;
}
}
temp = arr[i];
arr[i] = arr[maxIdx];
arr[maxIdx] = temp;
}
}
int main(void)
{
int arr[4] = { 3, 4, 2, 1 };
int i;
SelectionSort(arr, sizeof(arr) / sizeof(int));
for (i = 0; i < 4; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
/* Insertion Sort */
#include <stdio.h>
void InsertSort(int arr[], int n)
{
int i, j;
int insData;
for (i = 1; i < n; i++)
{
insData = arr[i];
for (j = i - 1; j >= 0; j--)
{
if (arr[j] > insData)
{
arr[j + 1] = arr[j];
}
else
break;
}
arr[j + 1] = insData;
}
}
int main(void)
{
int arr[5] = { 5, 3, 2, 4, 1 };
int i;
InsertSort(arr, sizeof(arr) / sizeof(int));
for (i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
728x90
반응형
'Data Structure & Algorithm' 카테고리의 다른 글
Sort Score (0) | 2022.11.18 |
---|---|
Flower, Chicken, Cards (0) | 2022.11.14 |
Basic Heap.(Priority Queue and Heap) (0) | 2022.10.31 |
Expression Tree(merger) (0) | 2022.10.31 |
exp_tree (0) | 2022.10.31 |