c语言选择冒泡排序讲解(附代码)

c语言选择冒泡排序讲解(附代码)

冒泡排序原理举例:

给定一组数 15 20 1 16 进行从大到小冒泡排序。第一次起泡的第一次比较:用15和20比较,若15比20小则交换位置,此时数字位置为 20 15 1 16 ,第一次起泡的第二次比较:用15和1比较,若15比1小则交换位置,15不比1小,则位置不变,此时数字位置为 20 15 1 16,第一次起泡的第三次比较:用1和16比较,若1比16小则交换位置,此时数字位置为 20 15 16 1,四个数需要比较,共比较了3次。第二次起泡的第一次比较:用20和15比较,若20不比15小,则位置不变,此时数字位置为 20 15 16 1 ,第二次起泡的第二次比较:用15和16比较,若15比16小则交换位置,15比16小,则交换位置,此时数字位置为 20 16 15 4,三个数需要比较,共比较了2次。以此类推。

选择排序原理举例:

给定一组数 15 20 1 16 进行从小到大选择排序。第一次选择排序:将四个数中最小的数与第一个数交换,此时数字位置为 1 20 15 16 ,第二次选择排序:将三个数中最小的数与第二个数交换,此时数字位置为 1 15 16 20 ,第三次选择排序:将两个数中最小的数与第三个数交换,此时数字位置为 1 15 16 20 。四个数共进行了三次选择排序。

具体代码如下:

#include

#define LEN 10//宏定义LEN为10

void sort(int array[], int n);//函数声明

void buble(int array[], int n);

void main()

{

int a[LEN], i;

printf("\n请输入%d个无序整数:\n",LEN);

for(i=0;i

printf("\n开始选择排序\n");

sort(a,LEN);

printf("从小到大选择排序结果:\n");

for(i=0;i

printf("\n");

printf("\n开始冒泡排序\n");

buble(a,LEN);

printf("从大到小冒泡排序结果:\n");

for(i=0;i

printf("\n");

}

//选择排序

void sort(int array[], int n)

{

int i,j,k,t;

for(i=0;i

{

k=i;

for(j=i+1;j

{

if(array[j]

{

k=j;

}

}

t=array[k];

array[k]=array[i];

array[i]=t;

}

}

//冒泡排序

void buble(int array[], int n){

int i, j, t;

for (i=0; i

{

for (j=0; j

{

if (array[j]

{

t=array[j];

array[j]=array[j+1];

array[j+1]=t;

}

}

}

}

/*测试用例:

3 5 8 11 15 20 1 4 77 109

*/

执行结果:

c语言选择冒泡排序讲解(附代码)相关教程

关于c语言的矩阵螺旋输出思路和代码

关于c语言的矩阵螺旋输出思路和代码 文章目录 前言 一、思路 二、代码 总结 前言 本篇文章主要分享自己写的一个c语言的矩阵螺旋输出思路和代码,希望能对大家有所帮助。 一、思路 首先是输入部分,我们新建一个二维数组matrix[m][n],并循环读入数据,读入数

【C语言】百行代码实现—推箱子小游戏

【C语言】百行代码实现—推箱子小游戏 文章目录 前言 项目需求 项目开始前需要准备的知识点 项目的模块划分 项目实现 地图初始化 热键控制 推箱子控制 游戏结束 游戏结束: 结束场景 在main中 可执行源码 .h文件 .cpp文件 运行结果 前言 第一次推箱子写还是在

数据结构(C语言实现【栈】之实现括号匹配([{ )

数据结构(C语言实现【栈】之实现括号匹配([{ ) 本文包含两个文件的代码和两张测试效果图: StackAndQueue.h文件: 用于存储信息:存放函数、结构体、栈的函数实现、变量名等 blockMatch.cpp文件: 用于测试 效果图: (位于最上方) 测试图: StackAndQueue

冒泡排序及其优化方案

冒泡排序及其优化方案 步骤1.从头开始比较相邻的两个元素,如果后面一个比前面一个小就交换位置,这样执行一轮最后的一个就是最大元素 步骤2.忽略之前找到的最大元素,重复执行步骤1,直到全部元素有序 图例 代码实现 package bubblesort;public class sort1

数据结构(C语言实现【队列】之实现男女舞伴配对)

数据结构(C语言实现【队列】之实现男女舞伴配对) 本文包含两个文件的代码和一张测试效果图: StackAndQueue.h文件: 用于存储信息:存放函数、结构体、栈的函数实现、变量名等 danceMatch.cpp文件: 用于测试 效果图: (位于最上方) 效果图: StackAndQue

数据结构(C语言实现【二叉树】创建、递归遍历(前序、中序、后

数据结构(C语言实现【二叉树】创建、递归遍历(前序、中序、后序)、非递归先序遍历) 本文包含两个文件的代码和一张测试效果图: BinaryTree.h文件: 用于存储信息:存放函数、结构体、栈的函数实现、变量名等 TreeTravel.cpp文件: 用于测试 效果图: (位

教你一招看清编程语言的发展趋势及未来方向

教你一招看清编程语言的发展趋势及未来方向 程序设计离不开编程语言,但是编程语言在国内的大环境中似乎一直是个二等公民。国内的计算机教育和工程培训,似乎一直在宣传“语言不重要,重要的是思想”,“语言一通百通”等观点,甚至在许多人眼中“语言的讨论

内存区划分

内存区划分 内存区划分 一.内存分配(汇编语言/高级语言) 二.划分 1.代码段 --text(code segment/text segment) 2.数据段 -- data 3.bss段--bss 4.stack: 5.heap: 三.instance analysis 一.内存分配(汇编语言/高级语言) 站在汇编语言的角度,一个程序分为:

c语言选择冒泡排序,c语言选择冒泡排序讲解(附代码)相关推荐

  1. 独家 | 手把手教你用R语言做回归后的残差分析(附代码)

    作者:Abhijit Telang 翻译:张睿毅 校对:丁楠雅 本文约2600字,建议阅读10分钟. 本文介绍了做残差分析的方法及其重要性,以及利用R语言实现残差分析. 在这篇文章中,我们通过探索残差 ...

  2. 教你用R语言分析招聘数据,求职/转行不求人~(附代码、数据集)

    来源:R语言中文社区 作者:Joffy Zhong 本文共4500字,建议阅读8分钟. 本文针对招聘网站的数据分析岗位的数据进行分析与挖掘实战. 项目背景 在学习数据分析的路上,少不了经常逛知乎,这也 ...

  3. r语言中残差与回归值的残差图_独家 | 手把手教你用R语言做回归后的残差分析(附代码)-阿里云开发者社区...

    作者:Abhijit Telang 翻译:张睿毅 校对:丁楠雅 文章来源:微信公众号 数据派THU 本文介绍了做残差分析的方法及其重要性,以及利用R语言实现残差分析. 在这篇文章中,我们通过探索残差分 ...

  4. C语言基础篇,什么是封装,附代码!

    封装就是把数据和函数打包到一个类里面,其实大部分C语言编程者都已近接触过了. C 标准库中的 fopen(), fclose(), fread(), fwrite()等函数的操作对象就是 FILE.数 ...

  5. 用R语言做WGCNA分析全步骤一(附代码解读)【转载】

    代码逐句分析 一.文章来源 二.基因共表达网络构建及模块识别 1.数据导入.清洗及预处理 2.检查过度缺失值和离群样本 3.聚类做离群样本检测 4.载入临床特征数据 三.自动构建网络及识别模块 1.确 ...

  6. 一种基于交叉选择的柯西反向鲸鱼优化算法 -附代码

    一种基于交叉选择的柯西反向鲸鱼优化算法 文章目录 一种基于交叉选择的柯西反向鲸鱼优化算法 1.鲸鱼优化算法 2. 改进鲸鱼优化算法 2.1 柯西反向学习 2.2 引入交叉与选择策略的鲸鱼优化算法 3. ...

  7. 智力过河游戏c语言,Flash制作的智力过河小游戏(附代码)

    游戏规则: 一只大狮子,一只小狮子,一只大老虎.一只小老虎.一只大花豹,一只小花豹要到河对面去,只有大动物和小老虎会划船,船每次只能乘两只动物.大动物之间互相吃不了,小动物之间互相吃不了,如果大动物不 ...

  8. 用追赶法求方程组c语言程序,数值计算——追赶法求解三对角方程组(附代码)...

    目录 追赶法基础理论 追赶法c++程序代码 程序运行结果 源码文件下载地址 追赶法基础理论 在数值计算中,对三次样条曲线插值和用差分方法求解常微分方程边值问题时,通常会遇到Ax=d三对角形式的方程组: ...

  9. c 冒泡排序_C语言中选择排序和冒泡排序

    点击上方"C语言中文社区",选择"设为星标★" 技术干货第一时间送达! 来源:https://blog.csdn.net/zjy18886018024/cate ...

最新文章

  1. TTCN手动测试总结
  2. php防止注入漏洞,php防止sql注入漏洞代码
  3. Python教程:如何将list嵌套的list的[]去掉
  4. 使用linux 的wget下载国外的域名的地址,下载不了,
  5. 信息学奥赛一本通 1965:【14NOIP普及组】珠心算测验 | 洛谷 P2141 [NOIP2014 普及组] 珠心算测验
  6. 未来教育计算机二级python_计算机二级题库
  7. 升降机用三级液压缸的设计与仿真
  8. otc焊接机器人编程模拟软件_OTC机器人编程
  9. 非线性拟合(C++版)
  10. 应用后台被回收,点击崩溃
  11. 宇宙简史——星光中有什么秘密?
  12. java程序的结构与类型实验报告_20172301 《Java软件结构与数据结构》实验三报告...
  13. 寡人的难题 (数据结构作业)
  14. TypeScript - 函数
  15. 一些关于KIRIKIRI及2等等等等的研究资料- -
  16. C++ Reference: Standard C++ Library reference: C Library: cstdio
  17. 让群晖“文本编辑器”支持更多文件扩展名
  18. 大数据时代的“巫师”
  19. Fortran——变量和常量
  20. 广州保利世贸博览馆 | 2021中国移动全球合作伙伴大会惊艳亮相

热门文章

  1. sql 利用lead 和lag 求 同比和环比
  2. AndroidStudio系统广播Broadcast电话监听
  3. Android7.0持久化技术
  4. 福州大学计算机考研资料汇总
  5. iPhone 13维修换屏问题:芯片决定面容ID“生死”
  6. git push报错:error: failed to push some refs to ‘https:/
  7. mac MoviePy 合成视频没有声音(亲测)
  8. Delphi DBGrid总结
  9. 测高卫星Jason2 Handbook翻译(一):Introduction
  10. SpringSecurity启动器