数据结构------选择排序
数据结构------选择排序
原理:参考趣学数据结构
代码:
#include<stdio.h>
#include<stdlib.h>
void simpleSelectSort(int a[], int length) {//选择排序int j;for (int i = 0; i < length - 1; i++) {int k = i;//每趟排序中找到最小的元素int tempMin = a[k];for (j = i + 1; j < length; j++) {if (a[j] < tempMin) {k = j;tempMin = a[j];}}if (k != i) {//在后面找到了第i+1小的元素int temp = a[k];a[k] = a[i];a[i] = temp;}}
}
void print6(int a[], int length) {for (int i = 0; i < length; i++) {printf("%d ", a[i]);}printf("\n");
}
int main() {int a[] = { 7,5,4,22,6,8,9,43,2,1 };int length = sizeof(a) / sizeof(a[0]);printf("排序前:\n");print6(a, length);simpleSelectSort(a, length);printf("排序后:\n");print6(a, length);system("pause");return 0;
}
测试截图:
时间复杂度O(n),空间复杂度O(1)
如果存在什么问题,欢迎批评指正!谢谢!
数据结构------选择排序相关推荐
- 数据结构-选择排序(简单选择排序,堆排序)
目录 1,简单选择排序 1.1,简单选择排序思想 1.2,选择排序的时间复杂度分析 1.3,简单选择排序代码实现 2,堆排序 2.1,什么是堆排序 2.2,堆排序的思想 2.3,堆排序时间复杂度分析 ...
- 数据结构---选择排序(直接选择排序和堆排序图解)
选择排序思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 . 直接选择排序 在元素集合array[i]–array[n-1]中选择关 ...
- 数据结构:选择排序(Selection sort)
package com.sortbasic;import java.util.Random;public class SelectionSortGenerate {// 数组private stati ...
- 数据结构--选择排序
选择排序的一种Go实现 package mainimport "fmt"//选择排序的核心是第n次将数组中后面len(arr) - n个元素的最大或者最小值与第n个元素进行交换 f ...
- python算法与数据结构-选择排序算法
代码如下所示: # 定义选择排序函数 def select_sort(list):# 计算需要排序的列表元素个数n = len(list)# 需要n-1次选择操作for j in range(n - ...
- python算法与数据结构-选择排序算法(33)
阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...
- 浅谈数据结构-选择排序(简单、堆排序)
选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止. 选择排序正如定义所讲,在数组查询出最小值,然后放在此次循环开始位置(前一次循环已经获取比它更小 ...
- 数据结构-选择排序(Python)
假设你的计算机存储了很多乐曲.对于每个乐队,你都记录了其作品被播放的次数. 你要将这个列表按播放次数从多到少的顺序排列,从而将你喜欢的乐队排序.该如何做呢? 一种办法是遍历这个列表,找出作品播放次数最 ...
- 数据结构与算法:选择排序
数据结构与算法:选择排序 雪柯 大工生物信息 提笔为写给奋进之人 已关注 8 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国忠 特别备注:本书非原创,但部分内容自己 ...
最新文章
- 鱼眼镜头标定基本原理及实现
- SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
- ECCV 2018最佳论文解读:基于解剖结构的面部表情生成
- 【对讲机的那点事】如何使用阿里通信云对讲平台?
- 在WebLogic Server上驯服JMX
- 选择排序和冒泡排序以及折半查找
- SQL 查询--日期条件(今日、昨日、本周、本月。。。) (转)
- 狼抓兔子(HYSBZ-1001)
- for jq 嵌套_遍历嵌套列表 – jQuery
- springmvc国际化 基于请求的国际化配置
- 4G网络建设近尾声 SDN/NFV是5G网络创新关键
- Android 实现两个控件水平居中
- Lucene 索引维护 之 删除 与 更新 文档
- 2021工程伦理慕课答案
- Properties 类的详细使用(十三)
- 输出三角形,平行四边形,菱形
- 完爆面试官!黑马学java学费多少
- python批量修改替换文件内容
- 【Electron-Vue】构建桌面应用(40)- Electron程序未响应
- 如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议
热门文章
- linux 路由表设置 之 route 指令详解
- 堆的构建、堆的插入、堆的删除、堆排序
- Android之电源管理 PowerManager解决远程拍照手机黑屏问题
- 华为怎么删除自带的音乐_原来华为手机相册隐藏剪辑功能!按下这个开关,还能制作音乐相册...
- python kivy ios_Kivy跨平台技术开发iOS
- .net 集合分成几个等数量集合_巧用数学游戏,帮助幼儿轻松掌握12种数量关系!...
- 最懂男人心的内裤,戳100个洞透气,超舒服
- 这就是你们有钱人炫富的新方式吗?
- What?你还搞不懂什么是物体检测?
- 朋友圈有趣的灵魂都去哪了?这几个优质公号给你答案