问题:C语言一维数组排序,读入一个正整数 n , 再读入 n 个整数(1<n<=10)
样例

请输入元素个数:5
请输入 5 个整数:
3 2 1 5 4
排序后:
1 2 3 4 5

选择排序:

#include<stdio.h>
#include<math.h>
int main()
{int n,i,j,x,temp;printf("请输入元素个数 : ");scanf("%d",&n);int str[n];printf("请输入%d个整数 :\n");for(i=0;i<n;i++)//输入{scanf("%d",&x);str[i]=x;} for(i=0;i<n;i++)//遍历数组{for(j=i;j<n-1;j++)//将str[i]与其后的数比较{if(str[i]>str[j+1])  {  //始终将较小的数排在左边temp=str[i];str[i]=str[j+1];str[j+1]=temp;//交换数值}}}printf("排序后 :\n");for(i=0;i<n;i++)//输出{printf("%d ",str[i]);}return 0;
}

冒泡排序(仅第二重循环改变):

#include<stdio.h>
#include<math.h>
int main()
{int n,i,j,x,temp;printf("请输入元素个数 : ");scanf("%d",&n);int str[n];printf("请输入%d个整数 :\n");for(i=0;i<n;i++)//输入{scanf("%d",&x);str[i]=x;} for(i=0;i<n;i++)//遍历数组{for(j=0;j<n-i-1;j++)//将str[i]与其后的数比较{if(str[j]>str[j+1])    {  //始终将较小的数排在左边temp=str[j];str[j]=str[j+1];str[j+1]=temp;//交换数值}}}printf("排序后 :\n");for(i=0;i<n;i++)//输出{printf("%d ",str[i]);}return 0;
}

PS: 如果有帮到你,希望留个赞,谢谢!

比较交换/(选择)排序法和冒泡排序法(C语言)相关推荐

  1. 选择排序法和冒泡排序法

    选择排序法和冒泡排序法 1.选择排序法(以从小到大排序为例) 算法思想: A.在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 B.从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序 ...

  2. python中怎么比较两个列表的大小_python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法...

    前言 排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列.本文主要讲述python中经常用的三种排序算法,选择排序法 ...

  3. python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法

    前言 排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列.本文主要讲述python中经常用的三种排序算法,选择排序法 ...

  4. 蛮力法查找有序数列c语言,算法——蛮力法之选择排序和冒泡排序c++实现

    这次实现的是蛮力法中的两个例子,选择排序法和冒泡排序法,使用的编译环境是vs2013,下面对这两个算法做一个简单介绍,然后是两个算法的c++实现代码. 选择排序法比较的范围是整个列表,每次扫描结束找出 ...

  5. C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

    C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 1 /*简单交换法排序 2 根据序列中两个记录键值的比较结果来 ...

  6. Java基础语法——选择排序、冒泡排序以及二分查找法和Arrays类的使用

    本文将带你了解选择排序.冒泡排序以及二分查找法的原理和代码实现,以及通过Arrays类快速实现对数组的一些操作 文章目录 一.选择排序 二.冒泡排序 三.二分查找法 四.Arrays类(对数组的操作) ...

  7. 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元

    7-3 冒泡法排序 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元素.然后用同样 ...

  8. c语言入门中冒泡排序的例题,选择排序和冒泡排序例题解析(c语言)

    排序算法排序算法 1.简单选择排序简单选择排序 假设有 n 个数,作简单选择排序简单选择排序,按升序排列: 先通过 n-1 次比较,从 n 个值中找出最小值,将它与第一个值交换. 再通过 n-2 次比 ...

  9. 常见排序算法详解(插入排序、希尔排序、选择排序、冒泡排序、快速排序)

    1.1 插入排序 步骤: 1.从第一个元素开始,该元素可以认为已经被排序 2.取下一个元素tem,从已排序的元素序列从后往前扫描 3.如果该元素大于tem,则将该元素移到下一位 4.重复步骤3,直到找 ...

最新文章

  1. 在SIFT和SURF之后,有哪些比较新的且具有一定影响力的自然图像配准算法?
  2. Visual Studio 2010软件安装教程
  3. 快速求幂(Quick Exponentiation)
  4. Java NIO学习篇之缓冲区Buffer详解
  5. 80端口未占用,apache无法启动解决办法
  6. HttpServletRequest 和 HttpServletResponse
  7. 龙芯2f笔记本安装gentoo
  8. 年底绩效考核,领导让我背「C」
  9. MongoDB客户端命令总结
  10. 发布infopath模板到sharepoint站点(Infopath 2007)
  11. 用户计算机MAC地址在哪看,怎么查看本机mac地址_电脑mac地址在哪里
  12. led的伏安特性曲线 matlab实现_光电池伏安特性测试MATLAB制图程序
  13. DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录
  14. 工具类批量修改照片的名字
  15. oracle远程不能访问权限,oracle限制远程访问
  16. iphon13是双卡双待吗 苹果13是5g吗
  17. sping boot 笔记 哎呦不错哦
  18. 【趣文】我是一个Java class
  19. 【ROS】ros_control、ur_modern_driver的工作原理
  20. subverse存档|subverse全cg存档工具

热门文章

  1. MVC初学 - The type or namespace name 'DbContext' could not be found
  2. 高精度加减乘法小程序
  3. varchar和Nvarchar区别
  4. 和 Python 2.x 说再见!
  5. 什么是机器学习?有哪些分类?到底有什么用?终于有人讲明白了
  6. 这才是真正适合小白的教程:Python有什么用?数据化运营怎么做?
  7. 三流面试问技术,二流面试问平台,一流面试……
  8. 看 B 站,可以更快!
  9. Spring Boot 项目的这些文件都是干啥用的?
  10. 网站扛住 100 亿次请求?我们来压测试一试