TEST/자료구조와 함께 배우는 알고리즘 입문(C언어)
<6> Q7. 자료구조와 함께 배우는 알고리즘 입문 (C언어)
도라몬즈
2021. 1. 23. 19:53
#include <stdio.h>
#include <stdlib.h>
#define swap(type,x,y)do{type t=x;x=y;y=t;}while(0)
void selection(int a[],int n)
{
int i,j,k;
for(i=0;i<n-1;i++){
for(k=0;k<i;k++)
printf(" ");
printf("* ");
int min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
min=j;
for(k=i+1;k<min;k++)
printf(" ");
printf("+ ");
for(k=min+1;k<n;k++)
printf(" ");
printf("\n");
for(k=0;k<n;k++)
printf("%d ",a[k]);
printf("\n");
swap(int, a[i],a[min]);
}
}
int main(void)
{
int i, nx;
int *x;
puts("단순 삽입 정렬");
printf("요소 개수 : ");
scanf("%d", &nx);
x = calloc(nx, sizeof(int));
for (i = 0; i < nx; i++)
{
printf("x[%d] : ", i);
scanf("%d", &x[i]);
}
selection(x, nx);
puts("오름차순으로 정렬했습니다.");
for (i = 0; i < nx; i++)
printf("x[%d] = %d\n", i, x[i]);
free(x);
return 0;
}