数据结构------选择排序


原理:参考趣学数据结构

代码:

#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,简单选择排序思想 1.2,选择排序的时间复杂度分析 1.3,简单选择排序代码实现 2,堆排序 2.1,什么是堆排序 2.2,堆排序的思想 2.3,堆排序时间复杂度分析 ...

  2. 数据结构---选择排序(直接选择排序和堆排序图解)

    选择排序思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 . 直接选择排序 在元素集合array[i]–array[n-1]中选择关 ...

  3. 数据结构:选择排序(Selection sort)

    package com.sortbasic;import java.util.Random;public class SelectionSortGenerate {// 数组private stati ...

  4. 数据结构--选择排序

    选择排序的一种Go实现 package mainimport "fmt"//选择排序的核心是第n次将数组中后面len(arr) - n个元素的最大或者最小值与第n个元素进行交换 f ...

  5. python算法与数据结构-选择排序算法

    代码如下所示: # 定义选择排序函数 def select_sort(list):# 计算需要排序的列表元素个数n = len(list)# 需要n-1次选择操作for j in range(n - ...

  6. python算法与数据结构-选择排序算法(33)

    阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...

  7. 浅谈数据结构-选择排序(简单、堆排序)

    选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止. 选择排序正如定义所讲,在数组查询出最小值,然后放在此次循环开始位置(前一次循环已经获取比它更小 ...

  8. 数据结构-选择排序(Python)

    假设你的计算机存储了很多乐曲.对于每个乐队,你都记录了其作品被播放的次数. 你要将这个列表按播放次数从多到少的顺序排列,从而将你喜欢的乐队排序.该如何做呢? 一种办法是遍历这个列表,找出作品播放次数最 ...

  9. 数据结构与算法:选择排序

    数据结构与算法:选择排序 雪柯 大工生物信息 提笔为写给奋进之人 已关注 8 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国忠 特别备注:本书非原创,但部分内容自己 ...

最新文章

  1. 鱼眼镜头标定基本原理及实现
  2. SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
  3. ECCV 2018最佳论文解读:基于解剖结构的面部表情生成
  4. 【对讲机的那点事】如何使用阿里通信云对讲平台?
  5. 在WebLogic Server上驯服JMX
  6. 选择排序和冒泡排序以及折半查找
  7. SQL 查询--日期条件(今日、昨日、本周、本月。。。) (转)
  8. 狼抓兔子(HYSBZ-1001)
  9. for jq 嵌套_遍历嵌套列表 – jQuery
  10. springmvc国际化 基于请求的国际化配置
  11. 4G网络建设近尾声 SDN/NFV是5G网络创新关键
  12. Android 实现两个控件水平居中
  13. Lucene 索引维护 之 删除 与 更新 文档
  14. 2021工程伦理慕课答案
  15. Properties 类的详细使用(十三)
  16. 输出三角形,平行四边形,菱形
  17. 完爆面试官!黑马学java学费多少
  18. python批量修改替换文件内容
  19. 【Electron-Vue】构建桌面应用(40)- Electron程序未响应
  20. 如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议

热门文章

  1. linux 路由表设置 之 route 指令详解
  2. 堆的构建、堆的插入、堆的删除、堆排序
  3. Android之电源管理 PowerManager解决远程拍照手机黑屏问题
  4. 华为怎么删除自带的音乐_原来华为手机相册隐藏剪辑功能!按下这个开关,还能制作音乐相册...
  5. python kivy ios_Kivy跨平台技术开发iOS
  6. .net 集合分成几个等数量集合_巧用数学游戏,帮助幼儿轻松掌握12种数量关系!...
  7. 最懂男人心的内裤,戳100个洞透气,超舒服
  8. 这就是你们有钱人炫富的新方式吗?
  9. What?你还搞不懂什么是物体检测?
  10. 朋友圈有趣的灵魂都去哪了?这几个优质公号给你答案