C语言实现选择排序——简单选择排序算法
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语言实现选择排序——简单选择排序算法相关推荐
- 选择排序—简单选择排序(Simple Selection Sort)
基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素 ...
- c语言用sort函数选择排序,简单选择排序(Simple Selection Sort)的C语言实现
简单选择排序(Simple Selection Sort)的核心思想是每次选择无序序列最小的数放在有序序列最后 演示实例: C语言实现(编译器Dev-c++5.4.0,源代码后缀.cpp) 原创文章, ...
- C语言例题11:简单选择排序
[c语言例题总结] 问题描述 简单选择排序 代码 #include<iostream> #include<cstdlib> #include<algorithm> ...
- C++实现各种选择排序(简单选择排序,堆排序)
简单选择排序: 代码如下: #include <iostream> using namespace std;void SelectSort(int *a, int len) {//数组下标 ...
- 20180321选择排序-简单选择排序
2019独角兽企业重金招聘Python工程师标准>>> 前置知识 selection sort 选择排序的基本思想:从待排序的序列中选出最大值(最小值),交换该元素与待排序序列头部元 ...
- 选择排序-简单选择排序
简单选择排序是一种不稳定的选择排序. #include<stdio.h> void selectSeletSort(int a[],int n) { int i,j,k; ...
- 排序-------简单选择实现(Java实现)
一.算法思想 第一趟简单选择排序时,从第一个记录开始,通过n-1次关键字的比较,从 n 个记录中选出关键字 最小的 记录,并和 第一个记录 进行交换. 第二趟简单选择排序时,从第二个记录开始,通过 n ...
- DS排序--简单选择排序
题目描述 给出一个数据序列,使用简单选择排序算法进行升序排序 输入 第一行输入t,表示有t个测试示例 第二行输入n,表示第一个示例有n个数据(n>1) 第三行输入n个数据,都是正整数,数据之间用 ...
- 七种排序------简单选择排序(Simple Selection Sort)
简单选择排序法就是通过 n - i 次关键字间的比较,从 n - i + 1个记录中选出关键字最小的记录,并和第 i 个记录交换. 代码如下: void SelectSort(SqList *L) { ...
最新文章
- NVIDIA Tensor Cores解析
- 我了解到的新知识之——电热水器用电安全
- 核密度估计python_核密度估计Kernel Density Estimation(KDE)
- Elasticsearch 的前世今生 【转】
- Redis 实践笔记
- 视觉SLAM学习--RGB-D SLAM学习(待完善)
- CDS view delivered in CRM EHP4
- 嘘!偷偷教你们一个在双十一省钱的办法!
- SQL:两种获取时间类型日期部分的方法
- 【Linux开发】如何查看Linux kernel的内置模块驱动列表和进程ID
- wp login.php 打不开,解决wordpress后台无法登录或显示空白的问题
- JavaEE学习10--Ajax
- Mybatis selectKey标签的keyProperty属性报错,关键字间隔不能有空格
- iamsese.cn -- 色色 -- 实例讲解 简易RBAC实现原理
- linux中U盘用fdisk等命令查询不到
- 计算机硬件仿真实验软件,计算机硬件实验虚拟仿真平台的设计
- linux+gps测试流程图,卫星导航产品(GPS)测试方案详解
- python end用法_Python turtle.end_fill方法代码示例
- android_10.0.0_r41自定义驱动编译+Framework层调用_2(自定义驱动)
- Google chrome谷歌浏览器,打开后是百度搜索或其他搜索怎么办?