直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。

时间复杂度:o(n^2)  稳定性:不稳定

代码实现如下:

#include<stdio.h>
#include<stdlib.h>
void SeletedSont(int a[],int n)
{int i,j,kmin,t;for(i=0;i<n-1;i++){kmin=i;for(j=i+1;j<n;j++){if(a[j]<a[kmin])  kmin=j;}if(i-kmin){t=a[i];a[i]=a[kmin];a[kmin]=t;}}}int main(void){int a[7]={3,2,5,8,4,7,6};SeletedSont(a,7);for(int i=0;i<7;i++){printf("%5d",a[i]);}return 0;} 

C语言实现直接选择排序相关推荐

  1. C语言Selection Sort选择排序的算法(附完整源码)

    C语言Selection Sort选择排序的算法 C语言Selection Sort选择排序的算法完整源码(定义,实现) C语言Selection Sort选择排序的算法完整源码(定义,实现) #if ...

  2. C语言冒泡法和选择排序法

    C语言冒泡法和选择排序法 1.冒泡法代码 #include<stdio.h> int main() {int a[3];int p,i,tmp;for(i=0;i<3;i++)sca ...

  3. c语言选择排序法程序设计,C语言基础之选择排序算法和代码

    在利用C语言进行编写程序的过程中,我们会常常通过算法及其代码来进行相关程序的编写工作.今天课课家笔者先给大家介绍C语言算法中的选择排序算法以及代码.那么到底什么是选择排序算法呢?下面由笔者慢慢道来. ...

  4. 每日程序C语言26-直接选择排序

    题目: 对10个数进行排序(1)-直接选择排序 程序分析 直接选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n^2)的时间复杂度,所以一般用在数据规模较小的时候,这个算法唯一的优点就是不占 ...

  5. 【C语言冒泡排序、选择排序和快速排序】

    文章目录 前言 一.冒泡排序 二.选择排序 三. 快速排序 四.代码设计与实现 代码设计 代码实现 调试结果 冒泡排序改良 延伸思考 总结 前言 本文简单介绍了C语言的冒泡排序.选择排序.快速排序,结 ...

  6. Java语言之数组_java语言之数组-----选择排序

    1. 数组的基本知识:数组是用来存储变量的集合 2. 数组的声明格式:元素类型 [] 数组引用变量名 = new 元素类型[元素个数] 如: int [] arrary = new int [10] ...

  7. C语言算法实现选择排序

    一.选择排序(Selection sort)是一种简单直观的排序算法,且是一种不稳定的排序方法. 二.选择排序(Selection sort)的实现原理: 排序的一组数中,选出最小(或最大)的一个数与 ...

  8. 数据结构(C语言版)——简单选择排序(代码版)

    一.代码 #include <stdio.h> #include <stdlib.h>#define MAXSIZE 20 #define ERROR 0 #define OK ...

  9. 输入法按照选字频率排序的C语言程序算法,算法与数据结构之选择排序(C语言)...

    #include #include void SelectSort(int *a,int n);//预声明要调用的函数 int main(void) { int k; int x[]={,,,,,,, ...

  10. C语言实现选择排序——简单选择排序算法

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

最新文章

  1. RecyclerView 点击Item 改变文字颜色以及所在的背景色
  2. float向u8和s8的转换
  3. 苏宁11.11:苏宁易购订单搜索系统架构及实现
  4. div+css的布局方式进行设计成品作业_原创响应式php企业成品网站,清晰风格版
  5. 拯救乳房:乳腺癌AI诊断系统
  6. git 连接gitee时报错 Auth error: Access deined: authorize failure
  7. 如何使用SQL Server主数据服务替换硬编码的查找
  8. 滚动监听 after选择器
  9. Oracle基本函数即字段拆分
  10. 那些好用的firefox扩展插件分享
  11. k-means 文本聚类 java_K-means文本聚类系列(已经完成)
  12. 冬瓜哥对时间和空间的理解方式—时空参悟(上)
  13. 主流计算机硬盘接口是,主流固态硬盘接口有哪些?
  14. 微软怎么设计Exchange 2003的体系结构
  15. 内存测试软件 ddr4,DDR4内存测试软件
  16. opencv生成棋盘格
  17. Codeforces Round #143 (Div. 2) (ABCD 思维场)
  18. 三星 Galaxy S6 Edge+ 中文动手玩:真的只是照了放大灯而已?
  19. 讲座学习: 4th WQF Blanka Horvath_Deep Hedging under Rough Volatility(一)
  20. 大面积瘫痪!昨晚,B站、A站集体崩了...

热门文章

  1. oracle复合索引第一个字段,复合索引的先决使用条件 - stacktestor的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  2. 新浪微博搜索其实就是人肉索引擎!
  3. python编写简单漏洞扫描器(通过实别服务版本号)
  4. 计算机网络-3-局域网数据链路层原理与技术
  5. 快播创始人王欣成立人工智能公司
  6. 163设置邮件服务器,网易邮箱设置Exchange服务教程
  7. linux驱动与windows驱动精灵,细说驱动精灵和驱动人生哪个好
  8. 【原创】 禁用ctfmon.exe 禁止ctfmon.exe自动启动
  9. Java解析魔兽争霸3录像W3G文件(四):解析游戏进行时的信息
  10. 聊聊ConcurrentHashMap