博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法初步-排序
阅读量:5326 次
发布时间:2019-06-14

本文共 747 字,大约阅读时间需要 2 分钟。

以下都是由小到大的顺序写的:

1.选择排序

时间复杂度:O(n^2)

2.插入排序

 插入排序就是将待插入元素一个个插入初始已有序部分中的过程,而插入位置的选择遵循了使插入后仍然保持有序的原则,具体做法一般是从后往前枚举已有序部分来确定插入位置

3.快速排序

C++中的sort()                  C中的qsort()

但一般不推荐使用C语言中的qsort()函数,因为使用起来很繁琐,涉及很多指针的操作

C++中sort()函数的使用:

      (1)头文件#include<algorithm>

      (2)sort(首地址元素(必填),尾元素地址的下一个地址(必填),比较函数(非必填));

   (3)对于char型数组排序,则默认为字典序;

   (4)如果需要对序列进行排序,那么序列中的元素一定要有可比性,因此需要制定排序规则来建立这种可比性。于是就需要提供cmp函数来实现排序规则。

        补充:strcmp函数是strng.h头文件下用来比较两个char型数组的字典序大小的,其中strcmp(str1,str2)当str1的字典序小于str2时返回一个负数,当str1的字典序等于str2返回0,当str1的字典序大于str2的字典序时返回一个正数。

 

对应胡凡的《算法笔记》这本书,做了PAT A1025

思路上有这些比较难处理的地方:

(1)当考生的成绩相同时应该怎样更好地用准考证号输出

(2)怎么算final_rank,因为local_rank倒是好计算一些

建立一个比较函数cmp()

第一开始用冒泡排序计算每个考生的local_rank,后来试着用sort()函数进行计算使整个代码更加整洁,可读性更强

 

转载于:https://www.cnblogs.com/shenljyw/p/9661581.html

你可能感兴趣的文章
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
php中的isset和empty的用法区别
查看>>
把word文档中的所有图片导出
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
正则表达式
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
加固linux
查看>>
WPF中Image显示本地图片
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
js千分位处理
查看>>
Mac---------三指拖移
查看>>
字符串类型的相互转换
查看>>
基础学习:C#中float的取值范围和精度
查看>>
Vim配置Node.js开发工具
查看>>
web前端面试题2017
查看>>