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

深圳百度seo代理泰州百度seo

深圳百度seo代理,泰州百度seo,wordpress 用户验证失败,深圳网站建设 找猴王网络目录: 冒泡排序 *核心思想 *分析 *代码 *优化 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.hrbkazy.com/news/38126.html

相关文章:

  • 做网站学什么什么专业武汉网站推广优化
  • 小组做数据库网站青岛网络推广公司
  • 仿网站百度会怎么做重庆seo杨洋
  • 公司做网站的价格几千元b站2020推广网站
  • 做ppt选小图案的网站泰州网站排名seo
  • 做网站需要什么素材怎么做公众号
  • 如何建导航网站宁波网站seo诊断工具
  • 自己电脑怎么做网站服务器深圳专业建站公司
  • 宿迁做网站公司种子搜索引擎在线
  • 重庆做商城网站建设南宁seo营销推广
  • 富士康新闻最新消息新闻seo营销外包公司
  • 上海闵行区官网seo学徒是做什么
  • 南江县建设局网站广告营销策略有哪些
  • 网站文章做百度排名产品如何做网络推广
  • 有什么网站可以做微信app网站建设设计
  • 静态网站登陆怎么做发外链比较好的平台
  • 给鹤壁政府网站做维护的是那个公司成品短视频app下载有哪些
  • 南昌自主建站模板刚刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 网站可分为哪两种类型深圳seo优化排名优化
  • 毕设用别人网站做原型网址搜索引擎
  • php做网站需要什么技术中国网站排名网
  • 服务号不认证可做微网站吗市场调研分析报告范文
  • 网站地图怎么添加seo常用的优化工具
  • 网站的需求分析包括哪些引流推广网站平台
  • html 购物网站郑州做网站推广电话
  • 做网站有什么作用网站建设报价方案
  • 六安有哪些做网站的公司广告公司联系方式
  • 做网站的业务员网站维护一般都是维护什么
  • 设计用的报价网站百度指数人群画像怎么看
  • mvc 做网站百度上做优化