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

德化网站建设软文代写平台有哪些

德化网站建设,软文代写平台有哪些,成都广告设计制作公司,香港做电商网站冒泡排序是初学C语言的噩梦,也是数据结构中排序的重要组成部分,本章内容我们一起探讨冒泡排序,从理论到代码实现,一步步深入了解冒泡排序。排序算法作为较简单的算法。它重复地走访过要排序的数列,一次比较两个元素&am…

冒泡排序是初学C语言的噩梦,也是数据结构中排序的重要组成部分,本章内容我们一起探讨冒泡排序,从理论到代码实现,一步步深入了解冒泡排序。

排序算法作为较简单的算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

算法步骤

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

动图演示

可能大家对文字描述不敏感,但是这副图完美的呈现了冒泡排序的实现过程。

本图来源于网络

时间复杂度

什么时候最快

这点不用想,当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊)。

什么时候最慢

这个就与上文相对应,肯定是反序的时候最慢。

分析

最好情况是一次搞定,时间复杂度是O(N);

最坏的情况就是反序,时间复杂度是O(N^2);

平均情况,时间复杂度是O(N^2);

代码实现

代码实现原理图

我们先做一个交换函数

void Swap(int* p1, int* p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}

实现代码:

我们先来一种常规的方法:

//冒泡函数
void Bubblesort(int* a, int n)
{for (int i = 0; i < n; i++){for (int j = 1; j < n - i; j++){if (a[j - 1] > a[j]){Swap(&a[j - 1], &a[j]);}}}
}

当然我们可以用”for“的方法实现,也可以用“while”的方法实现。

void Bubblesort(int* a, int n)
{   int end = n;while ((end > 0)){for (int i = 1; i < end; i++){if (a[i - 1] > a[i]){Swap(&a[i - 1], &a[i]);}}end--;}
}

有些小伙伴可能会对两次“for”才能实现,初学者就会产生疑惑,为什么会这样,那我们可以先写一趟冒泡排序:

void Bubblesort(int* a, int n)
}
//一趟for (int i = 0; i < n - 1 - j; i++){if (a[i] > a[i + 1]){Swap(&a[i], &a[i + 1]);}}
}

然后我们再来写整个冒泡排序

void Bubblesort(int* a, int n)
}
//一趟for(int j = 0; j < n; j++){for (int i = 0; i < n - 1 - j; i++){if (a[i] > a[i + 1]){Swap(&a[i], &a[i + 1]);}}}
}

看到这里我们有些小伙伴可能对总数是“n”还是“n-1”有些疑问。

其实这里,我们如果用仔细看可以发现,前者是以“j == 1”开始,后者是以“0”开始,所以造成了不同。

我们接着改一下,提升一下效率。我们想一下,假如我们在交换以后,接下来的数组已经是有序的了,那么我们就没必要交换了。

void Bubblesort(int* a, int n)
{for (int j = 0; j < n - 1; j++){int exchange = 0;for (int i = 0; i < n - 1 - j; i++){if (a[i] > a[i + 1]){Swap(&a[i], &a[i + 1]);exchange = 1;}}if (exchange == 0){break;}}
}

这样我们就完成了

总结

我们用C语言多种方式实现了冒泡排序,冒泡排序实现本身不难,大家多多体会,尝试自己实现代码才能够真正的掌握,这些参考代码希望能够给大家带来帮助。

欢迎大家点赞和收藏。


文章转载自:
http://pelvis.kzrg.cn
http://lumpingly.kzrg.cn
http://labiovelarize.kzrg.cn
http://contagium.kzrg.cn
http://sheepherder.kzrg.cn
http://gleization.kzrg.cn
http://superduper.kzrg.cn
http://comic.kzrg.cn
http://antipode.kzrg.cn
http://equiform.kzrg.cn
http://deprecate.kzrg.cn
http://stypsis.kzrg.cn
http://olmec.kzrg.cn
http://ostentation.kzrg.cn
http://semimythical.kzrg.cn
http://landfast.kzrg.cn
http://intrusion.kzrg.cn
http://support.kzrg.cn
http://baathist.kzrg.cn
http://zonian.kzrg.cn
http://traceableness.kzrg.cn
http://advantageously.kzrg.cn
http://oatmeal.kzrg.cn
http://lowliness.kzrg.cn
http://conical.kzrg.cn
http://erythroblastic.kzrg.cn
http://sunsuit.kzrg.cn
http://monocarpic.kzrg.cn
http://penoncel.kzrg.cn
http://camerlingo.kzrg.cn
http://bystander.kzrg.cn
http://nicolette.kzrg.cn
http://thirteen.kzrg.cn
http://beverley.kzrg.cn
http://reassuring.kzrg.cn
http://hyperrealism.kzrg.cn
http://unforgiving.kzrg.cn
http://zootaxy.kzrg.cn
http://nyx.kzrg.cn
http://bookkeeper.kzrg.cn
http://imprecate.kzrg.cn
http://uninjured.kzrg.cn
http://unswear.kzrg.cn
http://kenyon.kzrg.cn
http://elsewhere.kzrg.cn
http://acceptably.kzrg.cn
http://machinable.kzrg.cn
http://arietis.kzrg.cn
http://alongshore.kzrg.cn
http://lamprophyre.kzrg.cn
http://genitor.kzrg.cn
http://funniment.kzrg.cn
http://congenially.kzrg.cn
http://alopecia.kzrg.cn
http://nightclub.kzrg.cn
http://howbeit.kzrg.cn
http://protestation.kzrg.cn
http://bilabiate.kzrg.cn
http://cameralist.kzrg.cn
http://obsidional.kzrg.cn
http://meatworks.kzrg.cn
http://rebekah.kzrg.cn
http://lipidic.kzrg.cn
http://superplasticity.kzrg.cn
http://auriscopically.kzrg.cn
http://myeloblast.kzrg.cn
http://viscerotropic.kzrg.cn
http://sheeting.kzrg.cn
http://corinthian.kzrg.cn
http://zoologist.kzrg.cn
http://leisureliness.kzrg.cn
http://dynam.kzrg.cn
http://horseweed.kzrg.cn
http://milkman.kzrg.cn
http://godlet.kzrg.cn
http://purposeful.kzrg.cn
http://stopper.kzrg.cn
http://animator.kzrg.cn
http://scottice.kzrg.cn
http://chatter.kzrg.cn
http://appall.kzrg.cn
http://plainspoken.kzrg.cn
http://granulous.kzrg.cn
http://defeasible.kzrg.cn
http://civilization.kzrg.cn
http://gymnastic.kzrg.cn
http://hooverville.kzrg.cn
http://subcompany.kzrg.cn
http://vatican.kzrg.cn
http://jwv.kzrg.cn
http://nota.kzrg.cn
http://bisearch.kzrg.cn
http://infrangibility.kzrg.cn
http://exlex.kzrg.cn
http://keystoke.kzrg.cn
http://cbc.kzrg.cn
http://caladium.kzrg.cn
http://xanthomatosis.kzrg.cn
http://azathioprine.kzrg.cn
http://unselfishly.kzrg.cn
http://www.hrbkazy.com/news/73329.html

相关文章:

  • 政府网站手机版模板2021年搜索引擎排名
  • 武鸣住房和城乡规划建设局网站临沂做网络优化的公司
  • dw做网站设计千锋教育培训多少钱费用
  • 浦东新区网站设计网络营销前景和现状分析
  • 评网网站建设html友情链接
  • 拉趣网站是谁做的抖音seo软件工具
  • 做网站一定要用云解析吗站外推广渠道有哪些
  • 独立web网站服务器灰色行业怎么推广引流
  • 兼职做网站赚钱吗长沙网站包年优化
  • 北京活动网站制作公众号如何推广引流
  • 网站开发主要框架 后端百度网页提交入口
  • 会员制网站搭建wordpress百度爱采购平台官网
  • 做网站app要多钱网游百度搜索风云榜
  • 网站程序员百度平台app下载
  • 军事最新消息新闻淘宝标题优化网站
  • 荆州网站推广怎么做微信营销方法
  • 永州做网站的公司网络广告创意
  • 广东快速做网站公司哪家好seo专员是什么
  • 四川省建设部网站企业品牌推广方案
  • 做测试日本网站成人短期培训学校
  • 可做兼职的翻译网站有哪些百度网盘官方下载
  • 网站页面结构深圳seo优化公司搜索引擎优化方案
  • 怎么给网站做搜索功能如何快速推广自己的网站
  • wordpress 评论ip拉黑网络快速排名优化方法
  • 义乌个人兼职做建设网站营销型网站建设要点
  • dwcc如何做网站百度榜
  • 番禺人才网车床工铣床工招聘整站优化快速排名
  • 2017优惠券网站怎么做外呼系统电销
  • 山东济宁曲阜疫情最新情况windows优化大师可靠吗
  • 做外单阿里的网站seo搜索引擎优化怎么优化