저번에 배웠던 선택 정렬을 이용하여 배열을 정렬했다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 16
void selection_sort(int x[]);
int main()
{
int ar[SIZE] = { 27,29,22,2,47,45,6,18,41,34,20,42,11,13,38,30 };
selection_sort(ar);
int low, mid, high, num, result;
printf("탐색할 값을 입력하시오: ");
scanf("%d", &num);
low = 0, high = SIZE - 1;
while (low<=high)
{
mid = (low + high) / 2;
if (num == ar[mid])
{
result = mid ;
break;
}
else if (num > ar[mid])
low = mid + 1;
else if (num < ar[mid])
high = mid - 1;
}
if (result >= 0)
printf("탐색 성공 인덱스 = %d", result);
return 0;
}
void selection_sort(int x[])
{
int i, n, min, a, temp;
for (i = 0; i < SIZE; i++)
{
min = x[i];
a = i;
for (n = i + 1; n < SIZE; n++)
{
if (min > x[n])
{
min = x[n];
a = n;
}
}
temp = x[i];
x[i] = x[a];
x[a] = temp;
}
}
'Algorithm > C' 카테고리의 다른 글
[백준] 10951번 : (A+B - 4) C/C++ 문제풀이 솔루션 (0) | 2021.10.27 |
---|---|
[백준] 2920번: 음계 C/C++ 문제풀이 솔루션 (0) | 2021.10.27 |
쉽게 풀어쓴 C언어 EXPRESS 10장 프로그래밍 15번 솔루션 답지 (0) | 2021.10.25 |
C언어 오름차순 선택 정렬(selection sort) (0) | 2021.10.25 |
쉽게 풀어 쓴 C언어 Express 10장 프로그래밍 14번 솔루션 답지 (0) | 2021.10.24 |
댓글