调用c语言库函数实现快速排序

//调用C语言的快速排序算法qsort();

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

#define SIZE 100

//从小到大排序
int comp1(const void *x,const void *y)
{
        return *(int *)x - *(int *)y;
}

//从大到小排序
int comp2(const void *x,const void *y)
{
       return *(int *)y - *(int *)x;
}


void main()
{
         int arr[SIZE];
         int n = 0;  //数组的有效长度
         int t = 0;
         int i;
         printf("input the arr(Q to quit).\n");
         while( (t = scanf("%d",&arr[n])) != 0)
        {
                n++;
        }
        printf("arr before qsort.\n");
        for(i = 0; i < n; i++)
        {  
                printf("arr[%d]=%d\t",i,arr[i]);
                if((i+1) % 5 == 0)
                {
                       printf("\n");
                }
       }
      qsort(arr,n,sizeof(int),comp1);
      printf("\narr after qsort.\n");
      for(i = 0; i < n; i++)
      {
              printf("arr[%d]=%d\t",i,arr[i]);
              if((i+1) % 5 == 0)
              {
                       printf("\n");
              }
       }
       qsort(arr,n,sizeof(int),comp2);
       printf("\nRecover All.\n");
      for(i = 0; i < n; i++)
      {  
             printf("arr[%d]=%d\t",i,arr[i]);
             if((i+1) % 5 == 0)
             {
                     printf("\n");
              }
       }

printf("\n");
}

 

/*博主寄语:如若发现错误,望指出,谢谢*/

调用c语言库函数实现快速排序_第1张图片

你可能感兴趣的:(c,算法,语言)