b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

结构体数组算法初步--排序令i从0到n-1枚举,进行n趟操

电脑杂谈  发布时间:2018-01-07 00:04:49  来源:网络整理

c语言结构体数组_结构体数组指针_结构体数组

算法初步--排序

令i从0到n-1枚举,进行n趟操作,每趟从A[i,n]中选择最小的元素 ,算法复杂度为O(n^2)

假设某一趟时,序列A的前i-1个元素A[1]~A[i-1]已经有序,然后从范围[1,i-1]中寻找某个位置j ,使得插入后仍然有序,算法复杂度为O(n^2)

使用时必须加上头文件#include <algorithm> 和using namespace std;

函数原型

如何实现比较函数cmp

若比较函数不填,则默认按照从小到大的顺序排序,如果想要从大到小来排序,则要使用比较函数cmp

结构体数组的排序

一级排序,按照 x从大到小排序

结构体数组指针_c语言结构体数组_结构体数组

二级排序,先按照 x从大到小排序,但当 x相等的情况下,按照 y的大小来排序

容器的排序

在 STL标准容器中,只有 vector、string、deque是可以使用 sort 的。结构体数组结构体数组这是因为 set、map这种容器是用红黑树实现的,元素本身有序

vector的排序:sort(vi.begin(), vi.end()); // 对 vi 进行排序

string的排序:sort(str, str+3); // 对 str 进行排序

实例:对学生进行排序

如果两个学生分数不相同,那么分数高的排在前面

否则,将姓名字典序小的排在前面

排名的实现

结构体数组指针_结构体数组_c语言结构体数组

规则一般是:分数不相同的排名不同,分数相同的排名相同但占用一个排位

在数组排序完成后,先将数组的第一个个体(假设数组下标从0开始)的排名记为1

然后遍历剩余个体

如果当前个体的分数等于上一个个体的分数,那么当前个体的排名等于上一个个体的排名

否则,当前个体的排名等于数组下标加一

题意:在 n个考场有若干数量的考生。现在给出各个考场中考生的准考证号与分数,要求将所有考生按分数从高到低排序,并顺序输出所有考生的准考证号、排名、考场号、考场排名

思路:

按考场读入各考生的信息,并对当前读入的考生进行排序,将排名写入结构体中

对所有考生进行排序

按顺序一边计算总排名,一边输出所有考生的信息


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-58702-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...