이분검색 질문이요
헛소동
2023.04.01
#includestdio.h
int ad(int *ar,int b,int c)
{
int start=0;
int end=b-1;
int mid;
for(;;)
{
mid=(start+end)/2;
if(ar[mid]==c)
return mid;
if(ar[mid]c)
end=mid-1;
else
start=mid+1;
if(start=end)
return -1;
}
}
int main()
{
int ar[]={2,6,13,19,21,21,23,29,35,48,62,89,90,95,99,102,109,208,629};
int key=2;
int bb;
bb=sizeof(ar)/sizeof(ar[0]);
bb=ad(ar,bb,key);
if(bb==-1)
printf(없다\n);
else
printf(%d칸에 있습니다\n,bb+1);
return 0;
}이분검색을 한번 만들어 밨습니다 그런데 key에서 29로 바꾸면 잘되고 13도 되고 그러는데
어느 숫자들은 없다고 뜹니다 배열안에 숫자가 있는데..
이분검색의 특징인 오름차 순으로도 해놓았는데도 계속 이상하네요 뭐가 잘못됬나요?
-
재넘이
감사합니다 해결이 됬습니다!
-
큰모음
확실한건 아닌데
if(start=end)
를
f(startend)
로 해보세요 일단.....
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |