Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h
$ cat -n /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h 1 /* Perform binary search - inline version. 2 Copyright (C) 1991-2024 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17
. */ 18 19 __extern_inline void * 20 bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, 21 __compar_fn_t __compar) 22 { 23 size_t __l, __u, __idx; 24 const void *__p; 25 int __comparison; 26 27 __l = 0; 28 __u = __nmemb; 29 while (__l < __u) 30 { 31 __idx = (__l + __u) / 2; 32 __p = (const void *) (((const char *) __base) + (__idx * __size)); 33 __comparison = (*__compar) (__key, __p); 34 if (__comparison < 0) 35 __u = __idx; 36 else if (__comparison > 0) 37 __l = __idx + 1; 38 else 39 { 40 #if __GNUC_PREREQ(4, 6) 41 # pragma GCC diagnostic push 42 # pragma GCC diagnostic ignored "-Wcast-qual" 43 #endif 44 return (void *) __p; 45 #if __GNUC_PREREQ(4, 6) 46 # pragma GCC diagnostic pop 47 #endif 48 } 49 } 50 51 return NULL; 52 }
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™