简单选择排序(C语言)

简单选择排序(C语言)简单选择排序 1 排序原理简单选择排序算法原理 每次从左至右扫描序列 记下最小值的位置 然后将最小值与当前位置的值交换排序过程序列 54321 从小到大排列第一轮 5 4321 当前位置 5 4 3 2 1 中查找比 5 小的最小值 1 交换位置得 1 4 3 2 5 第二轮 1 4 3 2 5 当前位置 4 3 2 5 中查找比 4 小的最小值 2 交换位置得 1 2 3 4 5 第三轮 1 2 3 4 5


数据结构总目录



简单选择排序

1. 图文解析

遍历序列,每次在当前位置向后扫描序列,记下最小值的位置,然后将最小值与当前位置的值交换
在这里插入图片描述

排序过程

序列:{ 
    5, 4, 3, 2, 1 } 从小到大排列 第一轮:{ 
    [5], 4, 3, 2, 1 } 当前位置:[5] 在后序序列{ 
    4,3,2,1 }中查找比[5]小的最小值[1] 交换位置得:{ 
    1, 4, 3, 2, 5 } 第二轮:{ 
    1, [4], 3, 2, 5] 当前位置:[4] 在后序序列{ 
    3, 2, 5 }中查找比[4]小的最小值[2] 交换位置得:{ 
    1, 2, 3, 4, 5 } 第三轮:[1,2,(3),4,5] 当前位置:[3] 在后序序列{ 
    4, 5 }中查找比[3]小的最小值--() 排序结束 

2. 源代码

#include <stdio.h> #define size 10 void SelectSort(int *num, int len) { 
    int i, j, min, temp; for (i = 0; i < len; i++) { 
    // 初始最小值下标 min = i; // 查找后面最小值的下标 for (j = i + 1; j < len; j++) { 
    if (num[min] > num[j]) { 
    min = j; } } // 交换最小值 if (min != i) { 
    temp = num[i]; num[i] = num[min]; num[min] = temp; } } } int main() { 
    int i, num[size] = { 
   65874, 432, 45, 54, 541, 32, 213, 2, 354, 342}; SelectSort(num, size); for (i = 0; i < size; i++) { 
    printf("%d ", num[i]); } printf("\n"); return 0; } 

3. 测试结果

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233318.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 达芬奇的密码[通俗易懂]

    达芬奇的密码[通俗易懂]写在前面郇山隐修会是一个确实存在的组织,是一个成立于1099年的欧洲秘密社团。1975年巴黎国家图书馆发现了被称作“秘密卷宗”的羊皮纸文献,才知道包括艾撒克。牛顿爵士、波提切利、维克多。雨果和列昂纳多。达。芬奇等众多人物均为郇山隐修会成员。人们所知的“天主事工会”是一个梵蒂冈教派——一个极度虔诚的罗马天主教派。该教派近来引起了诸多争议,因为有报道

    2022年7月11日
    28
  • toast弹窗代码_app加弹窗软件

    toast弹窗代码_app加弹窗软件效果图代码:<!DOCTYPEhtml><htmllang=”en”> <head> <title>弹窗</title> <metacharset=”UTF-8″> <metaname=”viewport”content=”width=device-width,initial-s…

    2022年9月24日
    5
  • 神经网络的若干关键基础理论研究_DLA深度神经网络

    神经网络的若干关键基础理论研究_DLA深度神经网络这是一篇关于神经网络算法设计的几个基本问题的理论分析的专题文章,涉及到比较多的原理推导。文章的主体来自IanGoodfellow的《DeepLearning》;AndrewNg在Coursera的《MachineLearning》课程;周志华老师的《机器学习》MichaelNielson的线上书籍:曹振华老师的《随机数学基础》。本文涉及到的概念和理论,尽可能参考自维基百科,保证所有观点的严密和权威。

    2022年8月11日
    12
  • Redis的数据过期清除策略 与 内存淘汰策略

    Redis的数据过期清除策略 与 内存淘汰策略

    2021年4月10日
    140
  • django 渲染_django开源项目

    django 渲染_django开源项目前言渲染模块的原理和解析模块是一样,drf默认的渲染有2种方式,一种是json格式,另一种是模板方式。渲染模块源码入口入口:APIView类中dispatch方法中的:self.response

    2022年7月29日
    8
  • c酒店管理系统代码_酒店管理系统

    c酒店管理系统代码_酒店管理系统主要功能:1.添加员工信息2.显示员工信息3.删除员工信息4.修改员工信息5.查找员工信息6.员工信息排序7.清空数据(1)显示数据(2)修改数据(3)查找数据(4)信息排序部分代码展示:workerManager.cpp。需要完整代码可以留邮箱,有时间就发#include”stdafx.h”#include”work…

    2022年9月24日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号