qsort相关内容
我有一个结构: struct pkt_{双x;双 y;双阿尔法;双 r_kw;};typedef struct pkt_pkt; 这些结构的表格: pkt *tab_pkt;tab_pkt = malloc(ilosc_pkt * sizeof(pkt)); 我要做的是通过 tab_pkt.alfa 和 tab_pkt.r 对 tab_pkt 进行排序: qsort(tab_pkt, i
..
我正在尝试按照手册页使用 qsort,但无论我尝试什么,我都会不断收到段错误 这是重要的代码部分 int compare_dirent(const void *a, const void *b){const struct dirent *first = (const struct dirent *) a;const struct dirent *second = (const struct
..
一些前言:我是一名计算机工程专业的学生,在学习了 3 个学期的 Java(直至数据结构)后,我正在上 C 的第一堂课.这个问题与家庭作业有关,但离我解决它还有几个步骤. 我有一个读入内存的输入文件,它存储在 char[9][500] 中.我最多读入 500 个最大长度为 8 的字符串.我正在尝试使用 stdlib 内置的 qsort() 函数对该数组进行排序,但出现了一些内存错误.
..
假设我在 C 中有一个指向 char 的指针数组: char *data[5] = { "boda", "cydo", "washington", "dc", "obama" }; 我希望使用 qsort 对这个数组进行排序: qsort(data, 5, sizeof(char *), compare_function); 我无法想出比较功能.出于某种原因,这不起作用: int com
..
我正在尝试对二维数组进行排序.首先我按列排序,然后按行排序.逐列有效,但逐行无效.这段代码有什么问题? int scmpr (const void *a, const void *b){返回 strcmp((const char*)a, (const char*)b);}int main(void){int i,j;字符**标签;tab=(char**)malloc(sizeof(char*)*
..
我有一个数组,比如 A[5],这 5 个元素是 5,4,1,2,3.现在我按升序对这些数组进行排序.所以结果数组现在将是 1,2,3,4,5.我使用 stdlib.h 的 qsort() 函数对此进行排序.问题是如何获得原始数组相对于我的新数组的索引.最初我的索引是 0,1,2,3,4 对应的 5,4,1,2,3 值,现在索引已更改为 2,3,4,1,0.如何在 C 中有效地获得这些索引?在此先感
..
现在,我看过各种例子,但我不明白它们的意思. 这是我的结构 typedef struct profile{字符性别[1];双重社会;...} 轮廓; 其中 soc 是我将要排序的社会安全号码. 我知道您需要一个比较函数,但我不知道如何得出我需要的确切内容. 解决方案 这里是一个在 C 中使用 qsort 处理结构数组的例子 /* qsort 示例 */#include #
..
假设我们有一个结构: 结构体产品{字符名称[30];浮动价格;}; 我想先使用 qsort 按价格对其进行排序,如果价格相等,则按名称排序.我是如何想到编写比较函数的: int compare(const void *a, const void *b ){int comp = a.price - b.price;如果 (comp 0 )返回0;comp = strcmp(a.name,
..
我正在尝试在结构数组上使用 qsort 但我收到此错误:“*"标记之前的预期主表达式 struct muchie {整数 x,y,c;} a[100];int cmp(const void* p, const void* q){多杰副总裁,vq;vp=*(muchie* p);vq=*(muchie* q);返回 vp.c-vq.c;}//....qsort(a,m,sizeof(muchie)
..
我有一个结构 结构信息{字符名字[100];字符姓氏[100];字符公司名称[100];字符电子邮件[100];无符号长电话号码;}; 存储在文件 compareElements.h 我将一组值读入一个动态分配的结构数组,称为 bptr. 我的 comparePtr 指向这个函数. #include #include "compareElements.h"int compareN
..
我必须编写一个函数来对数组中的结构进行排序.结构是: #define MAX_USERNAME_LENGTH 16类型定义结构{字符用户名[MAX_USERNAME_LENGTH];无符号整数游乐设施;无符号整数等级;} 司机; 程序从 .txt 文件加载数据并填充数组 driver driver_list[256] 我必须按排名和乘车次数对 driver_list 进行排序.所以如果我的
..
我尝试在这个结构数组上使用 qsort 得到了奇怪的结果. 我有这个结构: struct access_data{国际部门;int到达时间;int 检查;整数处理;}; 我从文件中构造了一个 access_data 指针数组,以便它们按到达时间排序,但稍后我需要按扇区对它们进行排序,因此我有以下内容: int compare_data(const void* a, const void
..
我真的很喜欢 C 中的 qsort 函数.它非常易于使用,让我可以拖延学习 C++ 模板类型.我对此有几个问题: 所使用的算法是始终使用快速排序还是依赖于编译器实现? 您是否建议使用此功能,或者模板是否有真正的好处? 为了避免安全问题/段错误,我需要注意什么吗? 解决方案 算法总是使用快速排序还是依赖于编译器实现? 它依赖于实现. 你会推荐使用这个功能还是模板真的
..
我在 C 语言中为我的 qsort 提供了这个比较器函数,但无论我尝试什么,我似乎都遇到了分段错误... int textCompare ( const void * a, const void * b ){const char **x =(const char**)a;const char **y =(const char**)b;返回 strcmp(*x, *y);} 这是我的 qsort
..
为了习惯动态创建二维数组,我想创建一个可以按每个数组中的第五个成员排序的数组.该数组是双精度组的多维数组.每组有五场双打.最后两个双打是根据我写的一些随机表达式根据前 3 个计算得出的.数组的数量与它从文件中读取的双精度组一样多.当我写它时,我从排序中得到了非常随机的结果. #include #include #include #include int getAllDoubles(char *,
..
我一直在 Kernighan 和 Pike 合着的一本名为“编程实践"的书中学习 C 编程.根据本书中的材料,我编写了一个小程序,用于对命令行上给出的整数数组进行排序. #include #include #define MAXSIZE 30字符 *程序名;int arr[MAXSIZE];int icmp(int *, int *);int main(int argc, char *arg
..
我正在尝试使用 qsort 对包含指针的结构进行排序.是比较函数的问题吗?如何修复以便我可以根据抄送进行排序. 代码如下: #include #include 类型定义枚举{汽油,柴油机,电的,液化石油气,生物燃料,其他} 燃料_t;typedef struct car_tag {未签名的抄送;Fuel_t 燃料类型;} car_t;typedef 结构fleet_tag {car_t *
..
我是 C 语言初学者,希望习惯术语和指针.在寻找对数值数组元素进行排序的方法时,我发现了以下工作函数原型.该函数是 qsort,它使用指针.现在我明白的是,“const"这个词确保值 a 和 b 不变,但指针不变.如果我在这里错了,请纠正我.我的问题是: 为什么要使用void * 的函数不能使用int * 从开始? 返回部分如何构造*(int*)a工作? 为什么 qsort 算法需要
..
在 int 数组上的 qsort 和 bsearch 的升序排序回调函数可能看起来像这样: int升序(const void * o1,const void * o2){int a = *(const int *)o1;int b = *(const int *)o2;返回
..
在我的对象向量上使用std :: qsort时遇到麻烦.(请注意,此代码在循环内) std :: vector信息= GetAllAdjacentObjInfoFromMap(FLOOR_OBJ,e_Object :: eObject_WIRE,itr.getPos());//没有相邻的电线!如果(info.size()== 0){继续;}std :: cout
..