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

+ Recent posts