aboutsummaryrefslogtreecommitdiff
path: root/manual/examples/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'manual/examples/search.c')
-rw-r--r--manual/examples/search.c113
1 files changed, 0 insertions, 113 deletions
diff --git a/manual/examples/search.c b/manual/examples/search.c
deleted file mode 100644
index c434c11f8c..0000000000
--- a/manual/examples/search.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Searching and Sorting Example
- Copyright (C) 1991-2017 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-/* Define an array of critters to sort. */
-
-struct critter
- {
- const char *name;
- const char *species;
- };
-
-struct critter muppets[] =
- {
- {"Kermit", "frog"},
- {"Piggy", "pig"},
- {"Gonzo", "whatever"},
- {"Fozzie", "bear"},
- {"Sam", "eagle"},
- {"Robin", "frog"},
- {"Animal", "animal"},
- {"Camilla", "chicken"},
- {"Sweetums", "monster"},
- {"Dr. Strangepork", "pig"},
- {"Link Hogthrob", "pig"},
- {"Zoot", "human"},
- {"Dr. Bunsen Honeydew", "human"},
- {"Beaker", "human"},
- {"Swedish Chef", "human"}
- };
-
-int count = sizeof (muppets) / sizeof (struct critter);
-
-
-
-/* This is the comparison function used for sorting and searching. */
-
-int
-critter_cmp (const void *v1, const void *v2)
-{
- const struct critter *c1 = v1;
- const struct critter *c2 = v2;
-
- return strcmp (c1->name, c2->name);
-}
-
-
-/* Print information about a critter. */
-
-void
-print_critter (const struct critter *c)
-{
- printf ("%s, the %s\n", c->name, c->species);
-}
-
-
-/*@group*/
-/* Do the lookup into the sorted array. */
-
-void
-find_critter (const char *name)
-{
- struct critter target, *result;
- target.name = name;
- result = bsearch (&target, muppets, count, sizeof (struct critter),
- critter_cmp);
- if (result)
- print_critter (result);
- else
- printf ("Couldn't find %s.\n", name);
-}
-/*@end group*/
-
-/* Main program. */
-
-int
-main (void)
-{
- int i;
-
- for (i = 0; i < count; i++)
- print_critter (&muppets[i]);
- printf ("\n");
-
- qsort (muppets, count, sizeof (struct critter), critter_cmp);
-
- for (i = 0; i < count; i++)
- print_critter (&muppets[i]);
- printf ("\n");
-
- find_critter ("Kermit");
- find_critter ("Gonzo");
- find_critter ("Janice");
-
- return 0;
-}