You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

qsort.html 4.0KB

3 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>qsort (The Red Hat newlib C Library)</title>
  7. <meta name="description" content="qsort (The Red Hat newlib C Library)">
  8. <meta name="keywords" content="qsort (The Red Hat newlib C Library)">
  9. <meta name="resource-type" content="document">
  10. <meta name="distribution" content="global">
  11. <meta name="Generator" content="makeinfo">
  12. <link href="index.html#Top" rel="start" title="Top">
  13. <link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
  14. <link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
  15. <link href="Stdlib.html#Stdlib" rel="up" title="Stdlib">
  16. <link href="rand.html#rand" rel="next" title="rand">
  17. <link href="on_005fexit.html#on_005fexit" rel="prev" title="on_exit">
  18. <style type="text/css">
  19. <!--
  20. a.summary-letter {text-decoration: none}
  21. blockquote.indentedblock {margin-right: 0em}
  22. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  23. blockquote.smallquotation {font-size: smaller}
  24. div.display {margin-left: 3.2em}
  25. div.example {margin-left: 3.2em}
  26. div.lisp {margin-left: 3.2em}
  27. div.smalldisplay {margin-left: 3.2em}
  28. div.smallexample {margin-left: 3.2em}
  29. div.smalllisp {margin-left: 3.2em}
  30. kbd {font-style: oblique}
  31. pre.display {font-family: inherit}
  32. pre.format {font-family: inherit}
  33. pre.menu-comment {font-family: serif}
  34. pre.menu-preformatted {font-family: serif}
  35. pre.smalldisplay {font-family: inherit; font-size: smaller}
  36. pre.smallexample {font-size: smaller}
  37. pre.smallformat {font-family: inherit; font-size: smaller}
  38. pre.smalllisp {font-size: smaller}
  39. span.nolinebreak {white-space: nowrap}
  40. span.roman {font-family: initial; font-weight: normal}
  41. span.sansserif {font-family: sans-serif; font-weight: normal}
  42. ul.no-bullet {list-style: none}
  43. -->
  44. </style>
  45. </head>
  46. <body lang="en">
  47. <a name="qsort"></a>
  48. <div class="header">
  49. <p>
  50. Next: <a href="rand.html#rand" accesskey="n" rel="next">rand</a>, Previous: <a href="on_005fexit.html#on_005fexit" accesskey="p" rel="prev">on_exit</a>, Up: <a href="Stdlib.html#Stdlib" accesskey="u" rel="up">Stdlib</a> &nbsp; [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
  51. </div>
  52. <hr>
  53. <a name="qsort_002d_002d_002dsort-an-array"></a>
  54. <h3 class="section">2.32 <code>qsort</code>&mdash;sort an array</h3>
  55. <a name="index-qsort"></a>
  56. <p><strong>Synopsis</strong>
  57. </p><div class="example">
  58. <pre class="example">#include &lt;stdlib.h&gt;
  59. void qsort(void *<var>base</var>, size_t <var>nmemb</var>, size_t <var>size</var>,
  60. int (*<var>compar</var>)(const void *, const void *) );
  61. </pre></div>
  62. <p><strong>Description</strong><br>
  63. <code>qsort</code> sorts an array (beginning at <var>base</var>) of <var>nmemb</var> objects.
  64. <var>size</var> describes the size of each element of the array.
  65. </p>
  66. <p>You must supply a pointer to a comparison function, using the argument
  67. shown as <var>compar</var>. (This permits sorting objects of unknown
  68. properties.) Define the comparison function to accept two arguments,
  69. each a pointer to an element of the array starting at <var>base</var>. The
  70. result of <code>(*<var>compar</var>)</code> must be negative if the first argument is
  71. less than the second, zero if the two arguments match, and positive if
  72. the first argument is greater than the second (where &ldquo;less than&rdquo; and
  73. &ldquo;greater than&rdquo; refer to whatever arbitrary ordering is appropriate).
  74. </p>
  75. <p>The array is sorted in place; that is, when <code>qsort</code> returns, the
  76. array elements beginning at <var>base</var> have been reordered.
  77. </p>
  78. <br>
  79. <p><strong>Returns</strong><br>
  80. <code>qsort</code> does not return a result.
  81. </p>
  82. <br>
  83. <p><strong>Portability</strong><br>
  84. <code>qsort</code> is required by ANSI (without specifying the sorting algorithm).
  85. </p>
  86. <br>
  87. </body>
  88. </html>