c++-C++ 6.0按照结构体数组中多个字段的排序

问题描述

C++ 6.0按照结构体数组中多个字段的排序

用系统库函数怎么实现?传函数指针么?但是多个条件没办法传函数指针的,用冒泡排序行么

解决方案

自己写一个比较器,作为参数传给qsort
大概的写法
if (a.字段1 == b.字段1)
return a.字段2 - b.字段2;
return a.字段1 - b.字段1;

解决方案二:

楼主还不如自己写一个来的好

解决方案三:

在丁一结构体里面定义bool operator <

时间: 2024-09-12 14:27:35

c++-C++ 6.0按照结构体数组中多个字段的排序的相关文章

c语言-冒泡排序可以这样写吗,我只对结构体数组中某一个元素进行排序,然后交换

问题描述 冒泡排序可以这样写吗,我只对结构体数组中某一个元素进行排序,然后交换 struct troop { char name[1]; int a[3]; }tro[4]; void bubblesort(int a, int b, int c) { struct troop temp; int i, j; for (i=a; i { for (j=a+1; j { if (tro[j].a[c] > tro[i].a[c]) { temp = tro[j]; tro[j] = tro[i];

如何在结构体数组中删掉重复值

问题描述 如何在结构体数组中删掉重复值 假如结构体数组中的数据为:3 3 5 5 5 3 7 0 2 5 ,删除后的结构体数组中的数据为:3 5 3 7 0 2 5 解决方案 用个土方法吧,先吧结构体的数据截取出来,放在数组里遍历.在截取该数组的足后一个对象来遍历比较是否有相同的,有就删除,没有就吧该对象存放在新的数组中. 解决方案二: 如果你的数据最大小于数组的长度则可以这样实现.思想: 根据拆装箱思想,先统计各个数据重复个数,再删除重复数据 #include #include using n

编程c语言-vs2013中如何定义一个结构体该结构体定义一个结构体数组 结构体数组中包含一个链表

问题描述 vs2013中如何定义一个结构体该结构体定义一个结构体数组 结构体数组中包含一个链表 这样定义对么 编译时报错 缺少:在*前面 这是哪错了啊 请高手指点指点 解决方案 你把两个结构体的定义调换一下次序就没问题啦,要先声明或定义结构体:Station,才能使用 解决方案二: 因为struct Station是在struct Train结构体之后才定义的,所以你要在这之前先声明一下struct Train 解决方案三: 做一个前向声明,或者调换两个结构位置都可以. 解决方案四: 结构体数组

c语言-C语言结构体数组与顺序表的问题

问题描述 C语言结构体数组与顺序表的问题 #define DataType struct students cla[3] struct students { long code; char *name; float score[3]; float sum; }; typedef struct { DataType list[MaxSize]; int length; }SeqList; SeqList *t; 我要修改到list[0]里结构体数组cla[0]中的code元素,应该怎么写?? 下面

C++第2周项目3——用结构体数组作计算

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8635385 [项目3-用结构体数组作计算]接项目2,(1)从文件中读出数据,存放到你定义的结构体数组中,即项目2(1):(2)求出每名同学的总分(可以在读入过程中"顺便"计算):(3)按总分排序(降序):(4)输出排序后的成绩单:(5)有30名同学可

C++第2周项目2——读取数据到结构体数组

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8635385 [项目2-读取数据到结构体数组]score.txt(从本文后粘贴自建)中是一些同学的学号.姓名.C++.高数.英语成绩,定义一个学生成绩的结构体数组,其中的成员包括学号(char num[12]).姓名(name).三门课的成绩(grade).总分

第17周报告1:结构体数组

任务:score.txt中是一些同学的学号.姓名.C++.高数.英语成绩,定义一个学生成绩的结构体数组,其中的成员包括学号(char num[12]).姓名(name).三门课的成绩(grade).总分(score)).建议将某些功能设计成自定义函数. (1)从文件中读出数据,存放到你定义的结构体数组中: (2)求出每名同学的总分(可以读入过程中"顺便"计算): (3)按总分排序(降序): (4)输出排序后的成绩单: (5)有30名同学可以获得奖学金,规则是总分高者优先,有挂科不能得奖

C++第1周项目3——结构体数组处理学生成绩

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目3]每位同学的信息学号.姓名.C++.高数.英语成绩,定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[12]).姓名(name).三门课的成绩(grade).总分(score).均分(average)).(1)从键盘上输入5名学生的信息:(2)求出每名同学的总分和均分,并存储在结构体数组中(可以读入过程中"顺便"计算):(3)输出求

struct-结构体初始化问题, 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化

问题描述 结构体初始化问题, 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化//定义结构体//struct achievement{int number; char name[20]; char sex; float achievement1achievement2achievement3;}tab_achievement[N]; 解决方案 写一个循环,从txt中读取数据,然后赋值