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

胶州网站搭建公司宁波网站推广联系方式

胶州网站搭建公司,宁波网站推广联系方式,iapp网站做软件,用手机域名做网站有多少目录 一、原理 二、代码演示 三、代码优化 一、原理 假设: int arr[] { 9,8,7,6,5,4,3,2,1,0 }; 将 arr 内的元素进行升序排列,得到一个新的数组 int arr[] { 0,1,2,3,4,5,…

目录

一、原理

二、代码演示

三、代码优化


一、原理

假设:

int arr[] = { 9,8,7,6,5,4,3,2,1,0 };

将 arr 内的元素进行升序排列,得到一个新的数组

int arr[] = { 0,1,2,3,4,5,6,7,8,9 };

这个过程中,我们可以使用冒泡排序。

 如上图所示,冒泡排序便是数组元素之间进行俩俩交换,类似于之前比大小中的打擂台,设立一个擂主进行打擂,完成条件进行交换便是打擂成功,直到最后抵达它应该所在的位置便是结束打擂。

此时开始设立第二个擂主进行打擂,而且新设立的擂主不能打上一任的擂主和之前的擂主,且上一任的擂主必须保持原地不动,而打一次通关,则需要看需要打败的人数,以及之前的擂主和上一任擂主。

以此类推,得到最后的结果。

且最后,每一任擂主需要进行的打擂次数便是交换次数,有几个擂主便是需要进行几趟的冒泡排序。

最后我们便得到以下代码。

二、代码演示

int dio(int arr[], int sz)
{int i = 0; for (i = 0; i < sz; i++){//需要进行一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++)//之前的擂主不动,且不能和上之前的擂主进行决斗//且前几任擂主和冒泡排序的趟数有关{if (arr[j] > arr[j + 1])//达成条件后进行交换{//经典的交换代码int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;}}}
}
void print(int *arr, int sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ",arr[i]);}
}
int main()
{int arr[] = {1,3,5,2,8,7,9,6,4,0,10, };int sz = sizeof(arr) / sizeof(arr[0]);dio(arr,sz);//调用函数进行冒泡排序print(arr, sz);//打印冒泡排序后的数组return 0;
}

三、代码优化

以上的代码有个缺点,那便是遇见了显而易见的,只需要极少的交换次数便能够完成的排序时,也需要进行多趟的冒泡排序,需要每一个元素都进行比较和排序,这导致效率极其的低下,所以我们在此多添加一个内容。

int arr[] = {9,1,2,3,4,5,6,7,8,10 };

那便是一个假设,若满足了交换的内容,则假设失效,若没有满足,则假设成功。

int dio(int arr[], int sz)
{int i = 0; int flag = 1;//进行假设,假设有序for (i = 0; i < sz; i++){//需要进行一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++)//上一任的擂主不动,且不能和上一任擂主进行决斗{if (arr[j] > arr[j + 1])//达成条件后进行交换{//经典的交换代码int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;flag = 0;//假设失败}}if (flag == 1){break;}}
}
void print(int *arr, int sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ",arr[i]);}
}
int main()
{int arr[] = {1,3,5,2,8,7,9,6,4,0,10, };int sz = sizeof(arr) / sizeof(arr[0]);dio(arr,sz);//调用函数进行冒泡排序print(arr, sz);//打印冒泡排序后的数组return 0;
}

 

http://www.khdw.cn/news/40921.html

相关文章:

  • 做网站好的公司关键词推广技巧
  • 中国做网站公司东莞seo建站哪家好
  • 如何更改网站关键词无锡营销型网站建设
  • 广西贵港建设集团有限公司网站seo内容优化是什么意思
  • 网站总体规划设计说明广州seo外包多少钱
  • 最吉利旺财的公司名字苏州首页排名关键词优化
  • 便宜购 网站建设私密浏览器免费版
  • 网站原则广州seo优化
  • 网站管理问题优化大师下载旧版本安装
  • 二维码生成器小程序免费版百度 seo 工具
  • 如何设计网站栏目重庆网站快速排名提升
  • 主要网站维护软件东莞疫情最新数据
  • 网站怎么做 流程图品牌全案策划
  • 做网站用什么编程语言好广东省广州市白云区
  • 网站建设策划执行省好多会员app
  • 有没有做.net面试题的网站seo内容优化是什么意思
  • 平台推广网站常见的系统优化软件
  • 重庆妇科医院推荐陕西seo
  • 微网站制作焦作整站优化
  • 济南正宗网站建设报价网站设计需要什么
  • 西安淘宝网站建设公司排名十堰seo
  • 外国做视频在线观看网站竞价排名营销
  • 网站功能列表小红书seo是什么意思
  • 莞城网站制作手机优化大师官网
  • 哪里有免费的网站自己做网站seo推广
  • 电商网站构建预算方案杭州网站优化方案
  • 深圳室内装修设计公司排名短视频seo搜索优化
  • 交互设计作品集网站搜索引擎优化要考虑哪些方面
  • 网站开发 项目的人员分配收录查询
  • 企业官网网站模板下载不了自建网站