C语言实现简单选择排序

文章目录

  • C语言实现简单选择排序
  • 简单选择排序算法
    • 1.交换操作
    • 2.简单选择排序算法实现
  • 项目完整代码
  • 运行效果图

简单选择排序算法

1.交换操作

//交换实现
void swap(int &a, int &b) {int temp = a;a = b;b = temp;
}

2.简单选择排序算法实现

//简单选择排序算法
void SelectSort(int arr[], int len) {for (int i = 0; i < len - 1; ++i) {         //一共进行len-1趟int min = i;                            //记录最小的元素位置for (int j = i + 1; j < len; ++j) {     //在arr[i...len-1]中选择最小的if (arr[j] < arr[min])              //如果当前位置的值比已记录位置的值还小min = j;                        //更新最小值的位置}if (min != i)                           //如果这个最小值不是本身swap(arr[i], arr[min]);       //交换当前位置与初始记录位置}
}

项目完整代码

//选择排序————简单选择排序(不稳定,空间复杂度O(1),时间复杂度O(n^2))
#include <stdio.h>//交换实现
void swap(int &a, int &b) {int temp = a;a = b;b = temp;
}//简单选择排序算法
void SelectSort(int arr[], int len) {for (int i = 0; i < len - 1; ++i) {         //一共进行len-1趟int min = i;                            //记录最小的元素位置for (int j = i + 1; j < len; ++j) {     //在arr[i...len-1]中选择最小的if (arr[j] < arr[min])              //如果当前位置的值比已记录位置的值还小min = j;                        //更新最小值的位置}if (min != i)                           //如果这个最小值不是本身swap(arr[i], arr[min]);       //交换当前位置与初始记录位置}
}int main() {int arr[] = {49, 38, 65, 97, 76, 13, 27, 49};int len = sizeof(arr) / sizeof(int);//简单选择排序SelectSort(arr, len);//将已排序结果输出printf("简单选择排序结果为:");for (int i = 0; i < len; ++i) {printf("%d ", arr[i]);}return 0;
}

运行效果图

    int arr[] = {49, 38, 65, 97, 76, 13, 27, 49};

C语言实现选择排序——简单选择排序算法相关推荐

  1. 选择排序—简单选择排序(Simple Selection Sort)

    基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素 ...

  2. c语言用sort函数选择排序,简单选择排序(Simple Selection Sort)的C语言实现

    简单选择排序(Simple Selection Sort)的核心思想是每次选择无序序列最小的数放在有序序列最后 演示实例: C语言实现(编译器Dev-c++5.4.0,源代码后缀.cpp) 原创文章, ...

  3. C语言例题11:简单选择排序

    [c语言例题总结] 问题描述 简单选择排序 代码 #include<iostream> #include<cstdlib> #include<algorithm> ...

  4. C++实现各种选择排序(简单选择排序,堆排序)

    简单选择排序: 代码如下: #include <iostream> using namespace std;void SelectSort(int *a, int len) {//数组下标 ...

  5. 20180321选择排序-简单选择排序

    2019独角兽企业重金招聘Python工程师标准>>> 前置知识 selection sort 选择排序的基本思想:从待排序的序列中选出最大值(最小值),交换该元素与待排序序列头部元 ...

  6. 选择排序-简单选择排序

    简单选择排序是一种不稳定的选择排序. #include<stdio.h> void selectSeletSort(int a[],int n) {     int i,j,k;     ...

  7. 排序-------简单选择实现(Java实现)

    一.算法思想 第一趟简单选择排序时,从第一个记录开始,通过n-1次关键字的比较,从 n 个记录中选出关键字 最小的 记录,并和 第一个记录 进行交换. 第二趟简单选择排序时,从第二个记录开始,通过 n ...

  8. DS排序--简单选择排序

    题目描述 给出一个数据序列,使用简单选择排序算法进行升序排序 输入 第一行输入t,表示有t个测试示例 第二行输入n,表示第一个示例有n个数据(n>1) 第三行输入n个数据,都是正整数,数据之间用 ...

  9. 七种排序------简单选择排序(Simple Selection Sort)

    简单选择排序法就是通过 n - i 次关键字间的比较,从 n - i + 1个记录中选出关键字最小的记录,并和第 i 个记录交换. 代码如下: void SelectSort(SqList *L) { ...

最新文章

  1. NVIDIA Tensor Cores解析
  2. 我了解到的新知识之——电热水器用电安全
  3. 核密度估计python_核密度估计Kernel Density Estimation(KDE)
  4. Elasticsearch 的前世今生 【转】
  5. Redis 实践笔记
  6. 视觉SLAM学习--RGB-D SLAM学习(待完善)
  7. CDS view delivered in CRM EHP4
  8. 嘘!偷偷教你们一个在双十一省钱的办法!
  9. SQL:两种获取时间类型日期部分的方法
  10. 【Linux开发】如何查看Linux kernel的内置模块驱动列表和进程ID
  11. wp login.php 打不开,解决wordpress后台无法登录或显示空白的问题
  12. JavaEE学习10--Ajax
  13. Mybatis selectKey标签的keyProperty属性报错,关键字间隔不能有空格
  14. iamsese.cn -- 色色 -- 实例讲解 简易RBAC实现原理
  15. linux中U盘用fdisk等命令查询不到
  16. 计算机硬件仿真实验软件,计算机硬件实验虚拟仿真平台的设计
  17. linux+gps测试流程图,卫星导航产品(GPS)测试方案详解
  18. python end用法_Python turtle.end_fill方法代码示例
  19. android_10.0.0_r41自定义驱动编译+Framework层调用_2(自定义驱动)
  20. Google chrome谷歌浏览器,打开后是百度搜索或其他搜索怎么办?

热门文章

  1. JAVA学习之JTable(表格)
  2. 基于springboot框架开发的在线点餐系统
  3. 程序题智能批改系统需求分析
  4. GX Works2 SFC编程基础
  5. lvs dr 模型配置详解
  6. 实现天翼校园网络共享指南!!!!!
  7. Prometheus 服务发现
  8. Android 12 adb push更新系统应用
  9. PPT办公_《PPT让你好看》_笔记2
  10. 二进制数字频带传输2DPSK系统的设计