选择排序

对一个元素个数为20个的随机数组进行选择排序

#include <stdio.h>
#include <stdlib.h>
#include <time.h>void swap(int &a, int &b){int tmp = a;a = b;b = tmp;
}void Display(int *a, int n){for (register int i = 0; i < n; i++){printf("%d ", a[i]);}printf("\n");
}void select_sort(int *a, int n){register int i, j;int min;for (i = 0; i < n; i++)    {min = i;//min记录的是下标for (j = i + 1; j < n; j++){if (a[j] < a[min]){min = j;//记录最小值的下标}}swap(a[min], a[i]);printf("第%d次选择排序:", i+1);Display(a, 20);}
}int main()
{int a[20];//生成一个有20个元素的随机数组srand((unsigned int)time(0));//修改种子for (register int i = 0; i < 20; i++){ a[i] = rand();}printf("原数组为:\n");Display(a, 20);printf("\n");select_sort(a, 20);printf("\n选择排序后:\n");Display(a, 20);return 0;
}

如有不足,欢迎各位大佬指正

选择排序C语言实现(源代码)相关推荐

  1. 简单选择排序(C语言)

    数据结构总目录 简单选择排序 1. 图文解析 遍历序列,每次在当前位置向后扫描序列,记下最小值的位置,然后将最小值与当前位置的值交换 排序过程 序列:{ 5, 4, 3, 2, 1 } 从小到大排列 ...

  2. c语言选择排序_C语言——选择排序

    1 选择排序(5分) 题目内容:编写选择排序,要求排序过程调用函数实现,在主函数输入n个数据,调用函数后,输出排好序的元素输入格式:输入整型数n,并输入n个整数,输入数据用空格隔开输出格式:输出排好序 ...

  3. 选择排序——C语言代码

    介绍选择排序 下面是我在网上找的示例图,便于更好地理解选择排序 通过这个图我们明白K只是一个标记,它标记的是比较中 小的数.我们第一轮我们可以找到所有数中最小的数,然后让它和处于第一位的数进行位置交换 ...

  4. 简单选择排序——C语言实现

    选择排序思想:若按照递增顺序对顺序表进行排列,在n个元素的顺序表中,从第i(i=1)个元素开始遍历到第n-1个元素,在遍历过程中都将第i个元素依次与第i+1到第n个元素进行比较,确定最小的元素,如果最 ...

  5. 选择排序 c语言(链表法)

    目录 定义节点结构 选择排序思路 选择排序代码 VC 6.0 全代码+效果图 以升序为例 定义节点结构 typedef struct node{int data;struct node *next; ...

  6. 数组 选择排序 c语言

    解法一: #include <stdio.h> #define NUM 10 int main() {int a[NUM],i,j,k,t;printf("请输入%d个数&quo ...

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

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

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

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

  9. C语言 | 选择排序

    例83:C语言用选择排序对10个数进行排序. 解题思路:选择排序是指第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放 ...

最新文章

  1. 用代码创建工程并添加内容
  2. iBatis SqlMap的配置总结
  3. linux top 命令可视化_Linux top命令使用详解:显示或管理执行中的程序
  4. JAVA对象集合转化为xml转换_xml转为Map集合以及对象转化为xml
  5. G-华华对月月的忠诚
  6. How GPUs Work
  7. tree(2018.10.26)
  8. 三七互娱U3D面经2021.3.31
  9. 动态设置easyui datagrid URL
  10. HDU - 3391 Mahjong
  11. 实现审批系统_我市工程建设项目审批系统实现与 省监管平台数据互联互通
  12. div之间横竖方向的5px间距
  13. 定点运算之原码一位乘法
  14. jz2440裸机开发与分析:S3c2440ARM异常与中断体系详解8---定时器中断程序示例
  15. 微信小程序开发--习题
  16. 信号的平均功率与均方值
  17. android toast 自定义view,分享Android中Toast的自定义使用
  18. mysql 1236错误_mysql报1236错误代码该如何解决
  19. UE4 C++ UMG框架搭建
  20. matlab中如何分布运行,matlab安装、运行与其他问题集锦

热门文章

  1. pageInfo分页无效问题
  2. 优酷m3u8地址获取
  3. C++ Deleted
  4. C语言有关树的编程题,有关二叉树的递归算法 C语言编程
  5. 商标变更:须知事项及注意事项
  6. 百度搜索结果中的网站描述
  7. 关于 cc3k-villain 作业的思考
  8. Web可用性设计的247条指导方针
  9. 主程序-子程序、面向对象、事件系统和管道-过滤软件体系结构实现KWIC
  10. 达梦数据库的模式、状态介绍