Rechercher une page de manuel
qsort
Langue: ja
Version: 2003-11-15 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
̾Á°
qsort - ÇÛÎó¤òʤÙÊѤ¨¤ë½ñ¼°
#include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));
ÀâÌÀ
qsort() ´Ø¿ô¤Ï¡¢ nmemb ¸Ä¤ÎÂ礤µ size ¤ÎÍ×ÁǤò¤â¤ÄÇÛÎó¤òʤÙÊѤ¨¤ë¡£ base °ú¤¿ô¤ÏÇÛÎó¤ÎÀèƬ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£compar ¤ò¥Ý¥¤¥ó¥¿¤È¤¹¤ëÈæ³Ó´Ø¿ô¤Ë¤è¤Ã¤Æ¡¢ ÇÛÎó¤ÎÃæ¿È¤Ï¾º½ç (ÃͤÎÂ礤¤¤â¤Î¤Û¤É¸å¤ËʤֽçÈÖ) ¤Ëʤ٤é¤ì¤ë¡£ Èæ³Ó´Ø¿ô¤Î°ú¤¿ô¤ÏÈæ³Ó¤µ¤ì¤ë¤Õ¤¿¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
Èæ³Ó´Ø¿ô¤Ï¡¢Âè°ì°ú¤¿ô¤¬ÂèÆó°ú¤¿ô¤ËÂФ·¤Æ¡¢ 1) ¾®¤µ¤¤¡¢2) Åù¤·¤¤¡¢3) Â礤¤¤Î¤½¤ì¤¾¤ì¤Ë±þ¤¸¤Æ¡¢ 1) ¥¼¥í¤è¤ê¾®¤µ¤¤À°¿ô¡¢2) ¥¼¥í¡¢3) ¥¼¥í¤è¤êÂ礤¤À°¿ô¤Î ¤¤¤º¤ì¤«¤òÊÖ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ Æó¤Ä¤ÎÍ×ÁǤÎÈæ³Ó·ë²Ì¤¬Åù¤·¤¤¤È¤¡¢ ʤÙÊѤ¨¤¿¸å¤ÎÇÛÎó¤Ç¤Ï¡¢¤³¤ì¤éÆó¤Ä¤Î½ç½ø¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
ÊÖ¤êÃÍ
qsort() ¤ÏÃͤòÊÖ¤µ¤Ê¤¤¡£½àµò
SVr4, 4.3BSD, C89, C99.Ãí°Õ
compar °ú¤¿ô¤Ë»ÈÍѤ¹¤ë¤Î¤ËŬ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó¤È¤·¤Æ¤Ï alphasort(3), versionsort(3) ¤¬¤¢¤ë¡£ C ¤Îʸ»úÎó¤òÈæ³Ó¤¹¤ë¾ì¹ç¡¢°Ê²¼¤ÎÎã¤Ë¤¢¤ë¤è¤¦¤ËÈæ³Ó´Ø¿ô¤Ç strcmp(3) ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤â¤Ç¤¤ë¡£Îã
»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ bsearch(3) ¤Ë¤¢¤ëÎã¤ò»²¾È¤¹¤ë¤³¤È¡£°Ê²¼¤Î¥×¥í¥°¥é¥à¤ËÊ̤λÈÍÑÎã¤ò¼¨¤¹¡£¤³¤Î¥×¥í¥°¥é¥à¤Ï¡¢ ¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¤¿ô¤Ç»ØÄꤵ¤ì¤¿Ê¸»úÎó¤ÎʤӴ¹¤¨¤ò¹Ô¤¦¡£
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <assert.h> static int cmpstringp(const void *p1, const void *p2) { /* ¤³¤Î´Ø¿ô¤Î¼ÂºÝ¤Î°ú¤¿ô¤Ï "char ·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤Î¥Ý¥¤¥ó¥¿" ¤À¤¬¡¢ strcmp() ¤Î°ú¤¿ô¤Ï "char ·¿¤Ø¤Î¥Ý¥¤¥ó¥¿" ¤Ç¤¢¤ë¡£ ¤½¤³¤Ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¥¥ã¥¹¥È¤ò¤·¤Æ¤«¤é¥Ý¥¤¥ó¥¿¤ÎµÕ»²¾È¤ò¹Ô¤¦¡£*/ return strcmp(* (char * const *) p1, * (char * const *) p2); } int main(int argc, char *argv[]) { int j; assert(argc > 1); qsort(&argv[1], argc - 1, sizeof(char *), cmpstringp); for (j = 1; j < argc; j++) puts(argv[j]); exit(EXIT_SUCCESS); }
´ØÏ¢¹àÌÜ
sort(1), alphasort(3), strcmp(3), versionsort(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre