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

网站怎么做悬浮图片建设地方美食网站的目的

网站怎么做悬浮图片,建设地方美食网站的目的,淄博网站价格,重庆建设教育培训网证书查询目录: 冒泡排序 *核心思想 *分析 *代码 *优化 15.冒泡排序(bubble sort) *核心思想:两两相邻的元素进行比较,满足条件则两者交换 *分析 现要求升序排序 输入: 9 8 7 6 5 4 3 2 1 0 输出:0 1 2 3 4 5 6 7 8 9 下面展示一趟冒泡排…

目录:

冒泡排序

     *核心思想

     *分析

     *代码

     *优化

15.冒泡排序(bubble sort)

*核心思想:两两相邻的元素进行比较,满足条件则两者交换

*分析

现要求升序排序

输入: 9 8 7 6 5 4 3 2 1 0

输出:0 1 2 3 4 5 6 7 8 9

 下面展示一趟冒泡排序

图中显示:9被一步一步“冒泡”到最右边

可见:N个数字,第一趟冒泡排序需要(N-1)步

下图表示每趟冒泡排序后的结果

由图可知:N个数字,第一趟冒泡排序需要(N-1)步

                  N个数字,第二趟冒泡排序需要(N-2)步

                 N个数字,第三趟冒泡排序需要(N-3)步

                 ……

一共需要(N-1)趟

*代码

由上述分析,需要两个循环来控制趟数(i)和步数(j)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{int n = 0;int arr[100] = { 0 };int tmp = 0;//输入元素printf("输入数组元素个数:");scanf("%d", &n);printf("输入数组元素:");for (int k = 0; k < n; k++){scanf("%d", &arr[k]);}//冒泡排序for (int i = 1; i <= n - 1; i++)//趟数{for (int j = 0; j <=n - i-1 ; j++)//步数{if (arr[j] > arr[j + 1]){tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}//打印结果for (int q = 0; q < n; q++){printf("%d ", arr[q]);}
}

 

*优化

反思:该代码是否有优化的空间?

对于上方的代码,当有10个元素时,无论元素怎么排列,一共需要9+8+7+6+5+4+3+2+1=(1+9)*9/2=45步

如 输入 9 0 1 2 3 4 5 6 7 8 一趟冒泡排序后就已经完成任务了,但仍然要执行剩下的44次,导致效率降低,而且并没有发生数组元素之间的交换

解决方法:有顺序时取消交换,提前退出循环,输出结果

回想标志寄存器(flag register)的概念:标志寄存器用于存储状态信息,这些状态信息可以影响程序的流程控制

同理可以在程序中创建“标志变量”flag来控制循环

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{int n = 0;int arr[100] = { 0 };int tmp = 0;//输入元素printf("输入数组元素个数:");scanf("%d", &n);printf("输入数组元素:");for (int k = 0; k < n; k++){scanf("%d", &arr[k]);}int flag = 1;//冒泡排序for (int i = 1; i <= n - 1; i++)//趟数{for (int j = 0; j <= n - i - 1; j++)//步数{if (arr[j] > arr[j + 1]){tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;flag = 0;//发生交换flag置0}}if (1 == flag){break;//未发生交换则退出循环}}//打印结果for (int q = 0; q < n; q++){printf("%d ", arr[q]);}
}

http://www.15wanjia.com/news/179563.html

相关文章:

  • 给网站做数据分析公司名字注册查询
  • 淳安千岛湖建设集团网站wordpress和帝国谁快
  • 聊城找个人做网站做外贸的女生现状
  • 深圳网站程序开发制作网站空间有哪些
  • 成都培训网站建设首页关键词排名代发
  • aps网站服务建设手机能创建网站吗
  • wordpress多站点子域名资源网站推荐
  • 网站 中国最早做网站的html5单页模板
  • 济南网站建设公司按需定制深圳网站建设与设计制作
  • 区块链网站开发价格百度应用平台
  • crm系统软件排名优化大师的优化项目有哪7个
  • 现在网站的外部链接怎么做建设厅执业注册中心网站
  • 网站运营推广方法总结网站服务器地址查询方法
  • ic网站建设网络科技公司取名创意
  • 展览公司网站建设方案wordpress仿大众点评
  • 蒙特网站建设公司网站建设过程规划
  • wordpress免费主题模板百度seo是啥
  • 武安市网站建设费用电子商务网站建设重要性
  • 宝塔wordpress建站教程广州网站开发设计平台
  • 珠海市建设工程质量监督检测站网站外贸网站源码 php
  • 岳池住房和城乡建设厅网站高端h5网站
  • ftp做网站做网站的流程视频
  • 网站建设灬金手指科杰网站开发竞聘报告
  • wordpress站外链接页面在哪些网站可以发布推广信息
  • 做网站的时候表格怎么去掉佛山市南海区交通建设网站
  • 商城网站开发商如何成立网站
  • 网站统计哪个好用中国淮南网
  • 软件公司网站模板公司装修图片大全
  • 长沙有网站建站吗网站建设网络营销
  • 网站开发包括哪些网站开发合同注意