تا %60 تخفیف خرید برای 6 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

آموزش برنامه نویسی C قسمت 25 : qsort

سلام و وقت بخیر. از تابع qsort برای مرتب کردن آرایه استفاده میشود. هر عنصر آرایه یک مقداری دارد که این تابع با مقایسه کردن آنها ، آرایه را مرتب میکند.

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

توجه داشته باشید که این تابع مقداری را برنمیگرداند. فقط کافی است آرایه را به داخل تابع پاس بدهیم و بعد از صدا کردن تابع، میبینیم که آرایه مرتب شده است. ابتدا به آرگومان های این تابع دقت کنید.

1- آرگومان اول به خانه اول آرایه ای که قرار است مرتب شود اشاره میکند.

2- آرگومان دوم تعداد عناصر آرایه را مشخص میکند.

3- آرکومان سوم اندازه هر عنصر آرایه را مشخص میکند.

4- این تابع عناصر را با هم مقایسه میکند.

به مثال زیر دقت کنید.

#include <stdio.h>
#include <stdlib.h>

int values[] = {12, 3, 0, 7, 25, 8, 9, 7, 26, 10 };

int cmpfunc (const void * a, const void * b)
{
   return ( *(int*)a - *(int*)b );
}

int main()
{
   int n;

   printf("Before sorting the list is: \n");
   for( n = 0 ; n < 10; n++ ) 
   {
      printf("%d ", values[n]);
   }

   qsort(values, 10, sizeof(int), cmpfunc);

   printf("\nAfter sorting the list is: \n");
   for( n = 0 ; n < 10; n++ ) 
   {   
      printf("%d ", values[n]);
   }
  printf("\n");
   return(0);
}

و خروجی بصورت زیر خواهد بود:

[root@CentOS6 c]# gcc -o qsort qsort.c
[root@CentOS6 c]# ./qsort
Before sorting the list is: 
12 3 0 7 25 8 9 7 26 10 
After sorting the list is: 
0 3 7 7 8 9 10 12 25 26 
[root@CentOS6 c]# 

پایان قسمت بیست و پنجم

نویسنده : سید محمد باقر موسوی

منبع : جزیره برنامه نویسی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

نظر شما
برای ارسال نظر باید وارد شوید.
1 نظر
افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند