- 정렬 알고리즘을 또 까먹어서 가장 기본이 되는 Bubble sorting을 하고 싶어서 풀어본 문제
#include <iostream>
int n;
int arr[1000];
void swap(int * p1, int *p2)
{
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int compare(const void *p1, const void *p2)
{
int v1 = *(int*)p1;
int v2 = *(int*)p2;
return v1 - v2;
}
void bubble_sort()
{
int flag = 1;
while (flag)
{
flag = 0;
for (int i = 0; i < n - 1; i++) {
if (compare(arr + i, arr + i + 1) > 0) {
swap(arr + i, arr + i + 1);
flag = 1;
}
}
}
}
int main()
{
std::cin >> n;
for (int i = 0; i < n; i++)
{
std::cin >> arr[i];
}
bubble_sort();
for (int i = 0; i < n; i++)
{
printf("%d ",arr[i]);
}
}