Finish gettext section.
[kopensolaris-gnu/glibc.git] / manual / search.texi
index 23c35db..abb93bb 100644 (file)
@@ -1,5 +1,5 @@
-@node Searching and Sorting, Pattern Matching, Locales, Top
-@chapter Searching and Sorting 
+@node Searching and Sorting, Pattern Matching, Message Translation, Top
+@chapter Searching and Sorting
 
 This chapter describes functions for searching and sorting arrays of
 arbitrary objects.  You pass the appropriate comparison function to be
@@ -10,7 +10,7 @@ and the total number of elements.
 * Comparison Functions::        Defining how to compare two objects.
                                 Since the sort and search facilities
                                  are general, you have to specify the
-                                 ordering. 
+                                 ordering.
 * Array Search Function::       The @code{bsearch} function.
 * Array Sort Function::         The @code{qsort} function.
 * Search/Sort Example::         An example program.
@@ -34,30 +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
@@ -71,11 +64,11 @@ the header file @file{stdlib.h}.
 @pindex stdlib.h
 
 @comment stdlib.h
-@comment ANSI
+@comment ISO
 @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
@@ -89,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
@@ -104,7 +97,7 @@ To sort an array using an arbitrary comparison function, use the
 @pindex stdlib.h
 
 @comment stdlib.h
-@comment ANSI
+@comment ISO
 @deftypefun void qsort (void *@var{array}, size_t @var{count}, size_t @var{size}, comparison_fn_t @var{compare})
 The @var{qsort} function sorts the array @var{array}.  The array contains
 @var{count} elements, each of which is of size @var{size}.
@@ -125,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
@@ -152,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
@@ -176,10 +187,7 @@ Swedish Chef, the human
 Sweetums, the monster
 Zoot, the human
 
-
 Kermit, the frog
 Gonzo, the whatever
 Couldn't find Janice.
-@end example
-
-
+@end smallexample