C/C++ qsort()¿ìËÙÅÅÐòµÄÓ÷¨
CÓïÑÔÖÐÅÅÐòµÄËã·¨ÓкܶàÖÖ£¬ÏµÍ³Ò²ÌṩÁËÒ»¸öº¯Êýqsort()¿ÉÒÔʵÏÖ¿ìËÙÅÅÐò¡£ÔÐÍÈçÏ£º
void qsort(void *base, size_t nmem, size_t size, int (*comp)(const void *, const void *));
Ëü
¸ù¾ÝcompËùÖ¸ÏòµÄº¯ÊýËùÌṩµÄ˳Ðò¶ÔbaseËùÖ¸ÏòµÄÊý×é½øÐÐÅÅÐò£¬nmemΪ²Î¼ÓÅÅÐòµÄÔªËØ¸öÊý£¬sizeΪÿ¸öÔªËØËùÕ¼µÄ×Ö½ÚÊý¡£Àý ÈçÒª
¶ÔÔªËØ½øÐÐÉýÐòÅÅÁУ¬Ôò¶¨ÒåcompËùÖ¸ÏòµÄº¯ÊýΪ£ºÈç¹ûÆäµÚÒ»¸ö²ÎÊý±ÈµÚ¶þ¸ö²ÎÊýС£¬Ôò·µ»ØÒ»¸öСÓÚ0µÄÖµ£¬·´Ö®Ôò·µ»ØÒ»¸ö´óÓÚ0µÄÖµ£¬Èç¹ûÏàµÈ£¬Ôò·µ
»Ø0¡£
Àý£º
#include <stdio.h>
#include <stdlib.h>
int comp(const void *, const void *);
int main(int argc, char *argv[])
{
int i;
int array[] = {6, 8, 2, 9, 1, 0};
qsort(array, 6, sizeof(int), comp);
for (i = 0; i < 6; i ++) {
printf("%d\t", array[i]);
}
printf("\n");
return 0;
}
int comp(const void *p, const void *q)
{
return (*(int *)p - *(int *)q);
}
ÔËÐнá¹ûÈçÏ£º
0 1 2 6 8 9
Ïà¹ØÎĵµ£º
C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉî²ã̽Ë÷
×÷ÕߣºËᦻª e-mail:21cnbao_AT_21cn.com [AT -> @]
1. ÒýÑÔ
Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à
³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚC ÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º“Êý ......
MISRA--×÷Ϊ¹¤Òµ±ê×¼µÄC±à³Ì¹æ·¶(ǶÈëʽc¿ª·¢Õ߱ضÁ)
MISRA--×÷Ϊ¹¤Òµ±ê×¼µÄC±à³Ì¹æ·¶
MISRA (The Motor Industry Software Reliability Association
Æû³µ¹¤ÒµÈí¼þ¿É¿¿ÐÔÁª»á)
ÊÇλÓÚÓ¢¹úµÄÒ»¸ö¿ç¹úÆû³µ¹¤ÒµÐ»á£¬Æä³ÉÔ±°üÀ¨Á˴󲿷ÖÅ·ÃÀÆû³µÉú²úÉÌ¡£ÆäºËÐÄʹÃüÊÇΪÆû³µ¹¤ÒµÌṩ·þÎñºÍÐÖú£¬°ïÖ ......
1 fseekÒÆ¶¯Ö¸Õë»ñÈ¡
#include <stdio.h>
#include <stdlib.h>
long filesize( FILE *fp )
{
long int save_pos;
long size_of_file;
/* Save the current position. */
save_pos = ftell( fp );
/* ......