(_hurd_sig_post): __sig_post renamed to __msg_sig_post.
[kopensolaris-gnu/glibc.git] / manual / search.texi
index 9dfed66..d914135 100644 (file)
@@ -34,28 +34,23 @@ is ``greater''.
 Here is an example of a comparison function which works with an array of
 numbers of type @code{double}:
 
-@example
+@smallexample
 int
 compare_doubles (const double *a, const double *b)
 @{
-  double temp = *a - *b;
-  if (temp > 0)
-    return 1;
-  else if (temp < 0)
-    return -1;
-  else
-    return 0;
+  return (int) (*a - *b);
 @}
-@end example
+@end smallexample
 
 The header file @file{stdlib.h} defines a name for the data type of
-comparison functions.  This is a GNU extension and thus defined only if
-you request the GNU extensions.
+comparison functions.  This type is a GNU extension.
 
+@comment stdlib.h
+@comment GNU
 @tindex comparison_fn_t
-@example
+@smallexample
 int comparison_fn_t (const void *, const void *);
-@end example
+@end smallexample
 
 @node Array Search Function, Array Sort Function, Comparison Functions, Searching and Sorting
 @section Array Search Function
@@ -73,7 +68,7 @@ the header file @file{stdlib.h}.
 @deftypefun {void *} bsearch (const void *@var{key}, const void *@var{array}, size_t @var{count}, size_t @var{size}, comparison_fn_t @var{compare})
 The @code{bsearch} function searches the sorted array @var{array} for an object
 that is equivalent to @var{key}.  The array contains @var{count} elements,
-each of which is of size @var{size}.
+each of which is of size @var{size} bytes.  
 
 The @var{compare} function is used to perform the comparison.  This
 function is called with two pointer arguments and should return an
@@ -87,7 +82,7 @@ pointer if no match is found.  If the array contains more than one element
 that matches, the one that is returned is unspecified.
 
 This function derives its name from the fact that it is implemented
-using the binary search.
+using the binary search algorithm.
 @end deftypefun
 
 @node Array Sort Function, Search/Sort Example, Array Search Function, Searching and Sorting
@@ -123,22 +118,24 @@ respects.
 If you want the effect of a stable sort, you can get this result by
 writing the comparison function so that, lacking other reason
 distinguish between two elements, it compares them by their addresses.
+Note that doing this may make the sorting algorithm less efficient, so
+do it only if necessary.
 
 Here is a simple example of sorting an array of doubles in numerical
 order, using the comparison function defined above (@pxref{Comparison
 Functions}):
 
-@example
+@smallexample
 @{
   double *array;
   int size;
   @dots{}
   qsort (array, size, sizeof (double), compare_doubles);
 @}
-@end example
+@end smallexample
 
 The @code{qsort} function derives its name from the fact that it was
-originally implemented using the algorithm ``quick sort''.
+originally implemented using the ``quick sort'' algorithm.
 @end deftypefun
 
 @node Search/Sort Example,  , Array Sort Function, Searching and Sorting
@@ -150,14 +147,30 @@ by comparing their @code{name} fields with the @code{strcmp} function.
 Then, we can look up individual objects based on their names.
 
 @comment This example is dedicated to the memory of Jim Henson.  RIP.
-@example
+@smallexample
 @include search.c.texi
-@end example
+@end smallexample
 
 @cindex Kermit the frog
 The output from this program looks like:
 
-@example
+@smallexample
+Kermit, the frog
+Piggy, the pig
+Gonzo, the whatever
+Fozzie, the bear
+Sam, the eagle
+Robin, the frog
+Animal, the animal
+Camilla, the chicken
+Sweetums, the monster
+Dr. Strangepork, the pig
+Link Hogthrob, the pig
+Zoot, the human
+Dr. Bunsen Honeydew, the human
+Beaker, the human
+Swedish Chef, the human
+
 Animal, the animal
 Beaker, the human
 Camilla, the chicken
@@ -174,10 +187,9 @@ Swedish Chef, the human
 Sweetums, the monster
 Zoot, the human
 
-
 Kermit, the frog
 Gonzo, the whatever
 Couldn't find Janice.
-@end example
+@end smallexample