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

网站上线步骤网站设计加油站

网站上线步骤,网站设计加油站,h5建站网站,wordpress 邮箱 通知目录 一、原理 二、代码演示 三、代码优化 一、原理 假设: 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.yayakq.cn/news/157888/

相关文章:

  • 如何申请国外网站wordpress 文章页调用
  • 抽奖的网站怎么做外贸企业网络营销
  • 建设网站的技术难点html网站设计
  • 酒泉网站建设专家网站开发语言哪一种好些
  • 做网站的桔子什么网站上线前做环境部署
  • 分类信息网站建设系统国内专业做网站
  • 郑州网站建设哪家好怎么样php mysql网站后台源码
  • 手机访问网站页面丢失桂林互联网
  • 邯郸网站推广建材网中国建材第一网
  • 九江学网站建设苏州注册公司代理公司
  • 自己切片视频做网站产品项目开发流程图
  • 上海网站开发广告软文范例200字
  • 网站开发所遵循的佛山应用软件开发
  • 网站怎么进行网络推广网站seo计划书
  • 网站制作哪个好薇wordpress怎么加
  • 专业做网站路桥网络建设规划方案怎么写
  • 怎么做盗版电影网站吗湘潭做网站建设的公司
  • 门户网站app有哪些施工企业资质认定2022
  • 建英文网站有用吗网页设计与制作教程知识点
  • h5网站建设图标做瓜子进出口用哪些网站
  • 六安人社局网站秦皇岛黄金海岸旅游攻略
  • 七牛云wordpressseo免费诊断电话
  • 寻花问柳一家只做属于男人的网站从化营销型网站建设
  • 珠宝行业做网站的好处什么专业会做网站
  • 泽成seo网站排名photoshop官方下载
  • 网站开发中数据库的设计原则西安房地产网站建设
  • 西安seo优化顾问seo做网站
  • wordpress表情文件夹网站设计与优化
  • 国外优秀app设计网站有哪些html教程菜鸟教程w3school
  • 郑州pc网站建设thinkphp5微信公众号开发