博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
选择排序
阅读量:4933 次
发布时间:2019-06-11

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

选择排序

时间复杂度\(\mathrm{O}(n^2)\)

每次都对无序片段进行整趟扫描,取得最大或最小的那个元素,放到有序片段的前方或后方

算法思路如图所示

1518202-20190408142443489-874155469.png

与冒泡排序相比就是少了很多交换元素的操作,选择排序每次只进行一次元素交换

代码

void selectSort(int *a, size_t size) {    int min;    for (int i = 0; i < size; ++i) {        min = i;        for (int j = i + 1; j < size; ++j) {            if (a[j] < a[min])                min = j;        }        if (i != min)            swap(a[i], a[min]);    }}

转载于:https://www.cnblogs.com/Anthony-ling/p/10670186.html

你可能感兴趣的文章
测试阶段的工作进度
查看>>
《将博客搬至CSDN》
查看>>
ExtJS 刷新后,默认选中刷新前最后一次选中的节点
查看>>
实现一个简单的shell(2)
查看>>
Window 常用命令
查看>>
SMTP协议学习笔记
查看>>
ubuntu18.04下安装eclipse jee
查看>>
在ASP.NET MVC中使用Web API和EntityFramework构建应用程序
查看>>
iOS OpenGL ES简单绘制三角形
查看>>
.NET Core 中正确使用 HttpClient 的姿势
查看>>
【转】Python之文件读写
查看>>
ACM-栈
查看>>
C# 泛型集合
查看>>
new和声明的不同
查看>>
Servlet
查看>>
动态链接库的隐式和显式调用
查看>>
求子数组最大值
查看>>
谈谈tmpdir与innodb_tmpdir的区别和用处
查看>>
4.4---建立二叉树的链表
查看>>
mysql的client和sever之间通信password的传输方式
查看>>