当前位置: 首页 > news >正文

排序算法——简单选择排序

一、算法原理

简单选择排序是一种基本的排序算法,其原理是每次从未排序的元素中选择最小(或最大)的元素,然后与未排序部分的第一个元素交换位置,直到所有元素都被排序。

二、算法实现流程

简单选择排序法(Simple Selection Sort)就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<i<n)个记录交换之。

三、代码示例

#include <stdio.h>
void Swap(int *a,int *b)
{int temp = *a;*a = *b;*b = temp;
}void SelectSort(int *arr,int size)
{int j,i,min;for(i = 0;i < size;i++){min = i;                        /*将当前下标定义为最小值下标*/for(j = i + 1;j < size;j++)     /*循环之后的数据*/{if(arr[min] > arr[j])       /*如果有小于当前最小值的关键字*/{min = j;                /*将此关键字的下标赋值给min*/}}if(min != i)                    /*若min不等于i,说明找到最小值,交换*/{Swap(&arr[i],&arr[min]);    /*将最小值和arr[i]的值进行交换*/} }
}
void print(int *arr,int size)
{for (int i = 0; i < size; i++){printf("%d ", arr[i]);}printf("\n");
}int main()
{int arr[] = {5,4,3,6,2,0,1};int size = sizeof(arr)/sizeof(int);SelectSort(arr,size);printf("简单排序后的数组如下:");print(arr,size);return 0;
}

运行结果:

四、简单选择算法的复杂度分析

 

http://www.lryc.cn/news/420558.html

相关文章:

  • OpenAI API推出结构化输出功能
  • Python 异步编程:Sqlalchemy 异步实现方式
  • 父类引用指向子类对象
  • 分享一个基于Spring Boot的面向社区的智能化健康管理系统的设计与实现(源码、调试、LW、开题、PPT)
  • 【扒代码】reduction参数是什么
  • Python,Spire.Doc模块,处理word、docx文件,极致丝滑
  • redis的安装与命令
  • 【C++】特殊类设计类型转换
  • 为git 命令行 设置代理环境变量
  • 自定义linux某些常见配置
  • 告别手动操作!KeyMouseGo实现自动化工作流
  • 大型语言模型微调 新进展-4篇 论文
  • 专业课140+杭电杭州电子科技大学843信号与系统考研经验电子信息与通信工程真题,大纲,参考书。
  • php 中 (0 == ‘abc‘) 为真
  • MacOS Anaconda 安装教程及虚拟环境创建
  • Mac快速配置ADB环境变量
  • Kylin的工作原理及使用分享
  • python 使用seleniumwire获取响应数据
  • 用C语言实现双向链表
  • Github 2024-08-10 Rust开源项目日报Top10
  • 深入解析 ESLint 配置:从零到精通
  • BTC连续拉涨,击碎空头幻想
  • 【Spring】Sping笔记01
  • Gridcontrol纵向/横向合并单元格
  • 从周杰伦的《青花瓷》三次更名看方文山的国学情怀与工匠精神
  • HATS:分层图注意力神经网络用于股票预测
  • 【日常记录-MySQL】MySQL设置root用户密码
  • 高级Web安全技术(第二篇)
  • 前端实现文件下载常用几种方式
  • Isaac Lab 安装 (ubuntu22.04环境)