关于C 中快排函数QSORT的用法

转载 2015年11月20日 22:20:32
我想用qsort 去排序这4个node,但是我不知道为什么这个就是没有任何作用,每个node代表一个文件,它有filename,filetype 以及大小,我想用根据filename去排序,求大声教我如何fix 程序,太感谢了

#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <unistd.h>
typedef struct  node
{
        char filename[255];
        char filetype[255];
        long ofilesize;
        long newfilesize;
}Node;
Node Line[4];

int cmp(const void *a,const void*b)
{

    return strcmp(((Node *)a)->filename,((Node *)b)->filename);
}

int main(){
  /*  int j=0;
    for(;j<4;j++){
       Line[j]=(Node*)malloc(sizeof(Node));
     
    }*/
    strcpy(Line[0].filename,"b.txt");
   strcpy(Line[1].filename,"c.txt");
    strcpy(Line[2].filename,"d.txt");
     strcpy(Line[3].filename,"e.txt");

    int i=0;
    for(;i<4;i++){
       strcpy(Line[i].filetype,"regular file");
       Line[i].ofilesize=i;
       Line[i].newfilesize=i;
      
    }    

for(i=0;i<4;i++)
    {
printf("File %s has type %s original size %ld new size %ld \n",Line[i].filename,Line[i].filetype,Line[i].ofilesize,Line[i].newfilesize);
        
    }

     qsort(Line,4,sizeof(Node),cmp);

for(i=0;i<4;i++)
    {
printf("File %s has type %s original size %ld new size %ld \n",Line[i].filename,Line[i].filetype,Line[i].ofilesize,Line[i].newfilesize);
        
    }

}

相关文章推荐

快排函数qsort调用的使用细则

快速排序库函数qsort调用细则 2010/06/16 09:20 P.M.                             来源于:http://wenku.baidu.com/vi...

C语言快排函数qsort()

原本以为C语言中的快排函数都要靠自己去实现,今天才知道,原来qsort就是C语言中的快排函数,包含在stdlib.h头文件中,函数一共有四个参数,没有返回值。 //int (*cmp)(const v...
  • f_zyj
  • f_zyj
  • 2016年05月23日 21:04
  • 5561

C/C++程序员:排序算法之标准C语言qsort函数简单用法介绍

标准库函数qsort void qsort (   void* base, // 任意类型数组的首地址   size_t nmemb, // 数组元素个数   size_t size, // ...
  • gwjxl
  • gwjxl
  • 2014年04月29日 09:59
  • 716

C++ sort()函数和C qsort()函数用法总结

C++sort函数 头文件:#include 用法:sort(begin,end,method);//如果method缺省,则默认从小到大排序用法示例: 1.缺省用法:从小到大排序 int ...

qsort函数常见用法v1.1

  • 2013年03月27日 12:32
  • 49KB
  • 下载

20150124 【 Linux-C 函数指针 】 模拟快速排序程序--快排

快排的特点就是通用性; 只要你提供比较函数 cmp 它就能对任何类型的数据进行排序。 大一的时候很不解这玩意的原理, 现在总于知道了————>函数指针。。。 所以就手敲了一遍。 一...

boj problem 1331 思路:快排分块 按块查找 问题:全局数组时可以定义到500W的 main函数下的数组不行~ 另外c语言比c++快 TLE可以考虑C~~具体原因待解决

Arsenal与水杯之间的故事Submit: 1169   Accepted:189Time Limit: 1000MS  Memory Limit: 65535KDescription时间:某一天;...

结构体快排qsort()

曾经用到过一次快排,感觉代码量没有减小,反而比较函数有点难编,但是这种排序一般不会出错(前提是比较函数写对了),而且速度很快,熟练后其实还是非常好用的! 用到快排是因为我做到一个题,是uva的1042...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于C 中快排函数QSORT的用法
举报原因:
原因补充:

(最多只允许输入30个字)