当前位置: 首页 > news >正文

男女做那个全面视频网站长沙网络营销师最新招聘信息

男女做那个全面视频网站,长沙网络营销师最新招聘信息,移动端网站建设,免费外贸网站有哪些C语言—冒泡排序 原理过程讲解代码1、直接在主函数里面实现2、编写函数进行实现 原理 冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。 以从小到大排序…

C语言—冒泡排序

  • 原理
  • 过程讲解
  • 代码
    • 1、直接在主函数里面实现
    • 2、编写函数进行实现

原理

冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。
以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。

过程讲解

假设待排序序列为 (5,1,4,2,8),如果采用冒泡排序对其进行升序(由小到大)排序,则整个排序过程如下所示:
1) 第一轮排序,此时整个序列中的元素都位于待排序序列,依次扫描每对相邻的元素,并对顺序不正确的元素对交换位置,整个过程如下图所示。
在这里插入图片描述
可以看到,经过第一轮冒泡排序,从待排序序列中找出了最大数 8,并将其放到了待排序序列的尾部,并入已排序序列中。

2) 第二轮排序,此时待排序序列只包含前 4 个元素,依次扫描每对相邻元素,对顺序不正确的元素对交换位置,整个过程如下图所示
在这里插入图片描述
可以看到,经过第二轮冒泡排序,从待排序序列中找出了最大数 5,并将其放到了待排序序列的尾部,并入已排序序列中。

3) 第三轮排序,此时待排序序列包含前 3 个元素,依次扫描每对相邻元素,对顺序不正确的元素对交换位置,整个过程如下图所示。
在这里插入图片描述
经过本轮冒泡排序,从待排序序列中找出了最大数 4,并将其放到了待排序序列的尾部,并入已排序序列中。

4) 第四轮排序,此时待排序序列包含前 2 个元素,对其进行冒泡排序的整个过程如下图所示。
在这里插入图片描述
经过本轮冒泡排序,从待排序序列中找出了最大数 2,并将其放到了待排序序列的尾部,并入已排序序列中。

5) 当进行第五轮冒泡排序时,由于待排序序列中仅剩 1 个元素,无论再进行相邻元素的比较,因此直接将其并入已排序序列中,此时的序列就认定为已排序好的序列(如下图所示)。
在这里插入图片描述

代码

1、直接在主函数里面实现

//假设进行升序排序
#include<stdio.h>
int main()
{int arr[10] ;for (i = 0; i < 10; i++)		//接收用户的数值{scanf("%d", &arr[i]);}for (int i = 0; i < 9; i++)//i<9进行解释①{for (int j = 0; j < 9-i; j++)//i<9-i进行解释②{if (arr[j] > arr[j + 1])//满足条件进行交换{int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i < 10; i++)//打印数组,检验排序结果{printf("%d  ", arr[i]);}return 0;
}

2、编写函数进行实现

#include<stdio.h>
void Bubble_sort(int arr[], int size)
{int j,i,tem;for (i = 0; i < size-1;i ++)//size-1是因为不用与自己比较,所以比的数就少一个{int count = 0;for (j = 0; j < size-1 - i; j++)	//size-1-i是因为每一趟就会少一个数比较{if (arr[j] > arr[j+1])//这是升序排法,前一个数和后一个数比较,如果前数大则与后一个数换位置{tem = arr[j];arr[j] = arr[j+1];arr[j+1] = tem;count = 1;}}if (count == 0)			//如果某一趟没有交换位置,则说明已经排好序,直接退出循环break;	}}
int main()
{int arr[10];int i;printf("请输入10个数\n");for (i = 0; i < 10; i++)		//接收用户的数值{scanf("%d", &arr[i]);}printf("排序前的数组>");for (i = 0; i < 10; i++){printf("%d ", arr[i]);}printf("\n排序后的数组>");Bubble_sort(arr, 10);for (i = 0; i < 10; i++){printf("%d ", arr[i]);}return 0;
}
http://www.yayakq.cn/news/156177/

相关文章:

  • 宝安电子厂做网站手机微网站 模板
  • php后台关闭网站 功能怎么实现马达加工东莞网站建设
  • 做外贸都有哪些网站浙江省建设信息港证书
  • 网站建设做网站需要多少钱?用dw制作个人简介网页代码
  • 网站建设怎么写徐州住房与城乡建设部网站
  • 做网站哪里需要用钱嘉兴建设中学网站
  • 网站建设的组织保障广州外贸网站建设开发
  • wordpress管理后台 主题网络seo是什么
  • asp.net如何设置网站的图标WordPress使用typecho主题
  • 南宁模板建站网站经营性备案多少钱
  • 太原网站优化多少钱文字图片一键生成器
  • 河南建设人才招聘专业网站asp装修网站源码
  • 做名片素材网站网络营销策略有哪五种
  • 网站开发建设费用什么网站的图片可以做商用
  • 做电子政务 网站五金外发加工网
  • 南充做网站电话百度百科分类方法
  • 购物国外网站的建立免费php企业网站
  • 科技公司网站建设方案书模板做网站的不给ftp
  • 上海商业网站建设费用建行企业银行官网
  • 建网站能干嘛山东住房和城乡建设厅官网
  • 云虚拟主机和网站建设wordpress 邮件文本
  • 提供网站建设的公司兰州手机网站建设
  • 那些网站使用vue做的百度推广代理查询
  • 福田网站建设报价无忧中英繁企业网站系统 破解
  • 我的网站怎么不能搜索培训机构哪家最好
  • 做不锈钢的网站有哪些wordpress设置密码链接
  • 农业局网站建设实施方案如何禁止某ip访问网站
  • 嘉兴服饰网站建设网页设计基础心得体会
  • 上海网站制作公司联系方式微信附近人推广引流
  • 商务网站建设步骤有几个西宁知名网站制作公司