๋ฐ์ํ
๋ฐฐ์ด
- ๋ฐฐ์ด ์ ์ธ: (์๋ฃํ) (๋ฐฐ์ด๋ช )[๋ฐฐ์ด ์];
- ์ธ๋ฑ์ค๋ ํญ์ 0๋ถํฐ ์์
- ๋ฐฐ์ด ์ด๊ธฐํ: (์๋ฃํ (๋ฐฐ์ด๋ช )[๋ฐฐ์ด ์] = { ~~~~~~~ } ;
- ๋ฐ์ดํฐ ์ฌ์ด์ฆ ๊ตฌํ๊ธฐ: ์ ์ฒด๋ฅผ ํ๋์ ๋จ์๋ก ๋๋๊ธฐ
- ๋ฐฐ์ด์ ๋์ผํ ํ์ ์ ๋ฐ์ดํฐ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ ์ฅ
- ๋ฐฐ์ด ์์์ ๊ฐ์ ๊ณ์ฐ: printf(“%d”, sizeof(๋ณ์๋ช ));๊ณผ printf(“%d”, sizeof(๋ณ์๋ช [0]);
๋ค์ฐจ์ ๋ฐฐ์ด
- ๋ฐฐ์ด์ ์์๊ฐ ๋ฐฐ์ด๋ก ๊ตฌ์ฑ๋จ (์: 2์ฐจ์ ๋ฐฐ์ด)
- [ํ][์ด] ํ์, [ํ][์ด][๋์ด] ๋ฑ๋ ๊ฐ๋ฅ
- 2์ฐจ์ ๋ฐฐ์ด์์ ํ*์ด์ ๊ฐ์ด ์ ์ฒด ์์์ ๊ฐ๊ณผ ๊ฐ๋ค๋ฉด, ํ ์นธ์ ๋น์๋ฌ๋ ๋จ
์์ฐจ ํ์
- ์๋ถํฐ ์ฐจ๋ก๋๋ก ๊ฒ์ํ์ฌ ์ฐพ์ ๊ฒฝ์ฐ ํ์์ ๋ง์นจ
์ด์ง ํ์
- ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋ ๊ฒฝ์ฐ์๋ง ์ ์ฉ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ ๋ฐฐ์ด ์ค๊ฐ์ ์๋ ๊ฐ๊ณผ ๋น๊ต, ๋ฐฐ์ด์ ์ ๋ฐ์ฉ ๊ณ์ ์๋ผ๊ฐ๋ฉฐ ๋น๊ต
#include <stdio.h>
#define high 9
int checker(int m, int n, int arr[], int key){
int mid = (m+n)/2;
if (arr[mid] == key){
printf("Found it!, %d", mid);
}
else if (arr[mid] > key) {
checker(m, mid-1, arr, key);
}
else {
checker(mid+1, n, arr, key);
}
}
int main(void) {
int low=0, mid, key;
int arr[high+1];
printf("Enter %d integers: ", high+1);
for (int i=0; i<high+1; i++) {
scanf("%d", &arr[i]);
}
printf("Enter a key: ");
scanf("%d", &key);
checker(low, high, arr, key);
return 0;
}
๋ฐ์ํ