首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户8057608的专栏

    结构排序

    第一行为整数n表示有n个学生, 1<=n<=200。接下来包含n行数据,每行数据代表一个学生的信息,按学号(11位的整数),姓名(字符串,长度不超过20)和成绩(整数)。

    64440发布于 2020-12-15
  • 来自专栏Golang语言社区

    Golang语言--结构排序

    例子:

    907100发布于 2018-03-21
  • 来自专栏CSharp编程大全

    qlist 对结构排序

    结构排序: 写法一 QList<test> s; test aa; test bb; test cc; aa.num = "14"; bb.num ,助手中有很多示例,大多数关于int、QString的排序,今天这里主要讲解qSort如何对结构进行排序的。 list.begin(), list.end(), caseInsensitiveLessThan); // list: [ "AlPha", "beTA", "DELTA", "gamma" ] } Qt对结构排序 //钢筋直径 double planAmount; //计划量 double purchaseAmount; //采购量 double amount; //总量 }; 结构如上所示 , 对QList barDataList可通过以下方式进行排序

    2.5K20发布于 2020-11-25
  • 来自专栏Golang语言社区

    Golang语言为结构排序

    有很多的初学者可能对简单的数据的排序可以解决,一旦遇到复制结构的时候可能就束手无策了,今天给大家简单讲解下Go语言中结构排序。 代码如下,代码是网上给大家找的一个例子,下面代码简单明了;后面大家如果遇到问题例如再上篇文章给大家讲过的并发安全的map的例子,可以增加个排序

    1.8K150发布于 2018-03-27
  • 【杭电oj】1872 - 稳定排序结构排序

    (s): 4632 Accepted Submission(s): 1802 Problem Description 大家都知道,快速排序是不稳定的排序方法。 如果对于数组中出现的任意a[i],a[j](i<j),其中a[i]==a[j],在进行排序以后a[i]一定出现在a[j]之前,则认为该排序是稳定的。 并且对其使用了某排序算法按成绩进行递减排序。现在请你判断一下该排序算法是否正确,如果正确的话,则判断该排序算法是否为稳定的。 ,只是名字变了,分数不会变,所以用两个bool型的变量分别判断是否正确排序和是否稳定排序。 如果名字不正确但分数相同则不稳定排序,如果分数不正确就说明排序错误。

    35810编辑于 2025-08-26
  • 来自专栏Golang语言社区

    Golang语言社区--结构数据排序

    大家好,我是Golang社区主编彬哥,这篇是给大家讲解关于复杂数据结构排序的。 结构,数据排序 package main import ( "fmt" "sort" "strconv" ) var testmap map[string return a[i].Age < a[j].Age } func (a ByAge) Less(i, j int) bool { return a[i].Age > a[j].Age } // 从大到小排序 main() { fmt.Println(len(testmap)) people := make([]Person, len(testmap)) // 1 结构提取值获取数据 people = append(people, people[ikey]) people[ikey] = second } // 排序

    94330发布于 2018-03-09
  • 【HDU】2093 - 考试排名(结构排序

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12760 Accepted Submission(s): 4521

    24110编辑于 2025-08-27
  • 来自专栏数据分析与挖掘

    c++结构实例之按结构中指定变量进行排序

    按照年龄将结构数组中的 元素进行排序

    1.1K20发布于 2020-08-26
  • 来自专栏嵌入式学习

    函数指针,使用qsort,进行结构排序

    //学生成绩 }student_t; int studentCompare(const void *stu1,const void *stu2) {   /*强转成需要比较的数据结构 {"two",2,77}; student_t stu3 = {"three",3,88}; student_t stu[] = {stu1,stu2,stu3}; /*排序 %s,id:%u,score:%d\n",stu[loop].name,stu[loop].id,stu[loop].score); } return 0; } 我们创建了一个学生信息结构结构成员包括名字,学号和成绩。 main函数中创建了一个包含三个学生信息的数组,并使用qsort函数对数组按照学生成绩进行排序

    2.3K10发布于 2020-09-08
  • 来自专栏c/c++

    数据结构——lesson9排序之选择排序

    一、选择排序 基本思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。 这里选择排序介绍两种——直接选择排序、堆排序 二、直接选择排序 ✨✨在元素集合array[i]–array[n-1]中选择关键码最大(小)的数据元素 ✨✨若它不是这组元素中的最后一个(第一个)元素, 此外找到最大最小值交换时还要注意交换的开始位置是不是最大值,如果是最大值我们就需要将最大值的下标maxi改成交换后的也就是maxi;当然如果不是最大值就无需交换; 结果如下: 以int a[] = {7,4,6,9,8,2,3,1 ,此外我们还利用堆排序解决了Topk问题 详情可以点击这里:数据结构——堆排序 、 堆排序应用——Topk问题 在上面的堆排序中我们建立的是小堆,求的是降序;所以今天我们在这里将介绍堆排序——升序 图解如下: 以int a[] = {4,7,8,5,6,2,1,9}为例 1.建堆 这里利用堆向下调整算法实现: // 堆排序——建大堆 void AdjustDwon(int* a, int

    31910编辑于 2024-03-24
  • 来自专栏全栈程序员必看

    《大话数据结构》第9排序 9.9 快速排序(下)

    比如我们前面讲冒泡和简单选择排序一直用到的数组{9,1,5,8,3,7,4,6,2},由代码第4行“pivotkey=L->r[low];”知道,我们应该选取9作为第一个枢轴pivotkey。 此时,经过一轮“pivot=Partition(L,1,9);”转换后,它只是更换了9与2的位置,并且返回9给pivot,整个系列并没有实质性的变化。如图9-9-8。 排序速度的快慢取决于L.r[1]的关键字处在整个序列的位置,L.r[1]太小或者太大,都会影响性能(比如第一例子中的50就是一个中间数,而第二例子的9就是一个相对整个序列过大的数)。 优化不必要的交换 观察图9-9-1~图9-9-6,我们发现,50这个关键字,其位置变化是1→9→3→6→5,可其实,它的最终目标就是5,当中的交换其实是不需要的。 如图9-9-9所示。 3.

    68620编辑于 2022-07-05
  • 来自专栏开发语言-Go

    Go语言学习9-结构类型

    同一个结构类型声明中的字段不能出现重名的情况。结构类型也分为命名结构类型和匿名结构类型。 1.1 命名结构类型命名结构类型以关键字 type 开始,依次包含结构类型的名称、关键字 struct 和由花括号括起来的字段声明列表。 Sequence 的声明进行改动,如下:type Sequence struct { Sortable sorted bool}上面的 Sequence 中的匿名字段 Sortable 用来存储和操作可排序序列 ,布尔类型的字段 sorted 用来表示类型值是否已经被排序。 如果需要在原有的排序操作上添加一些额外功能,可以这样声明一个同名的方法:func (self *Sequence) Sort() { self.Sortable.Sort() self.sorted

    41112编辑于 2024-10-04
  • 来自专栏全栈程序员必看

    sort函数对vector排序_sort函数对结构数组排序

    一、遇到问题: 今天写代码的是遇到想对vector进行排序的问题,隐约记得std::sort函数是可以对vector进行排序的,但是这次需要排序的vector中压的是自己定义的结构(元素大于等于2), 想以其中某一个元素进行正序或逆序排序,则不能直接使用sort函数。 二、解决方案: 1.C++中当 vector 中的数据类型为基本类型时,我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,代码如下(摘自http://www.cplusplus.com cout << '\n'; return 0; } 输出为: myvector contains: 12 26 32 33 45 53 71 80 2.然而当vector中的数据类型为自定义结构类型时 ,我们该怎样实现排序

    3K20编辑于 2022-09-21
  • 【杭电oj】5499 - SDOI(结构排序,水)

    Source BestCoder Round #59 (div.2) 简单结构排序题。

    41810编辑于 2025-08-26
  • 来自专栏软件开发 -- 分享 互助 成长

    sort+结构实现二级排序

    之前介绍的sort函数由于其效率较高,使用较为简单让我用起来那叫一个爽,今天再写一篇使用sort+结构实现二级排序的方法。 好,现在这个问题已经涉及到了二级排序,要按照身高的降序和姓名的升序排列,那么就要先定义一个结构,将姓名和身高都包含进去,然后用sort对结构排序,而实现二级排序,关键在于自己写的cmp函数(sort include<algorithm> 4 using namespace std; 5 struct Person 6 { 7 string name; 8 int hegh; 9 }; 10 bool cmp(Person p1,Person p2) 11 { 12 if(p1.hegh>p2.hegh)//一级排序 13 { 14 return 下面来个稍微复杂一点的应用 如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。

    75090发布于 2018-02-05
  • 来自专栏个人编程笔记

    c-利用结构存放信息并排序

    说起来你们可能不信,今天自己没有选择“剁手”,不是被马爸爸忽悠去买买买了,而是选择孤独的写着代码,本来啥也没有,要是连代码都撸不成了,那就没救了,不知道在座的各位有没有抢到红包,买到东西,护住钱包,选择剁手呢?买东西,别听马爸爸说打折,就有点控制不住自己了,量力而行,买些该买的,当然能抢到便宜又好的东西,那还是不错的,当然了,如果说你有钱,就是想给马爸爸贡献点数据,那请随意,还有时间赶紧的。好吧,闲扯到这,上代码,这里就是开辟空间的时候注意下就行了,指针也需要地址存放的,如果有错的地方,欢迎指正,互相学习。

    38910编辑于 2023-03-03
  • 来自专栏以终为始

    Java的 「 “ 结构 ”」 与 「 “ 自定义排序 ” 」

    Java里面的结构可以靠class来实现,如果相对结构进行排序,需要写一个接口,class 自定义的名字 implements Comparator<结构(自己定义的class类的名字)>。 = 0) return a.x - b.x; else return a.y - b.y; } } Arrays.sort(s,0,n,new cmp()); 对s数组排序

    65420编辑于 2023-03-09
  • 来自专栏CSDN搜“看,未来”

    拥抱STL - 类结构元素查询与排序

    怎么说也要放个结构或者类吧。 this->temp = temp; this->Diff = Dif; this->ID = ID; this->Score = Score; } //这是元素类的结构 ,可以看出来这是个排行榜 //用来排序的算法,按分数排序 int compare(W_RinkData &infoA,W_RinkData &infoB) { return infoA.Score >infoB.Score; } //自己封装个排序函数 void X_RinkList::mysort() { B_Sql *sql = B_Sql::instence("User.db"); 如果觉得我的方法不好(我这毕竟是伪代码)推荐这篇:运算符重载实现排序及查找,写的挺好,就是测试的时候可能会有点出入。

    65420发布于 2020-08-26
  • 来自专栏好派笔记

    qsort结构排序 (初学者必知)

    其实只要完全融会贯通一个就够用了;我认为这个就是qsort排序,因为时间虽然比不上快排,但是计较稳定。其可以对数字,字母,结构等等都可以排序。 1 : -1; } qsort(in,100,sizeof(in[0]),cmp); 四、对结构一级排序 struct In { double data; int other; }s[100] //按照data的值从小到大将结构排序,关于结构体内的排序关键数据data的类型可以很多种,参考上面的例子写 int cmp( const void *a ,const void 1 : -1; } qsort(s,100,sizeof(s[0]),cmp); 五、对结构二级排序 struct In { int x; int y; }s[100]; // = d->x) return c->x - d->x; else return d->y - c->y; } qsort(s,100,sizeof(s[0]),cmp); 六、对结构三级排序

    1.5K00发布于 2021-09-17
  • 来自专栏大史住在大前端

    野生前端的数据结构练习(9)冒泡排序,选择排序,插入排序

    目录 一.冒泡排序 二.选择排序 三.插入排序 四. 一些需要注意的点 ? insertion sort的基本原则是小数左移,即每轮循环结束后,外层循环指向位置左侧的片段都是已经完成排序的,时间复杂度也为O(n^2)。 2.基本优化 基于时间复杂度与程序运行效率并不绝对一致这样的前提,上面的三种基本算法在不改变算法思想的前提下仍然存在优化空间,例如基础插入排序中,内层循环所做的工作可以描述为为当前元素在左侧已排序列中找到正确的位置 如何区分三种基础排序算法 对于三种基本排序算法还不是很清楚的读者,可以自行搜索“图解算法”相关的博文进行查看,这三种算法的时间复杂度是一样的(都是两层循环),只需要区分其主要排序思想的原则差异,并不难记忆 冒泡排序——大数右移 选择排序——按位入坑 选择排序——小数左移

    52220发布于 2018-12-19
领券