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

重庆网站建设哪里好今日军事新闻

重庆网站建设哪里好,今日军事新闻,网站兼容手机浏览器,wordpress双数据库目录 1.思路1.1大堆的建立方法1.2排序的方法 2.代码实现以及测试代码 1.思路 如何将一个堆进行排序,并变成升序?首先,如果要完成升序,那我们可以建立一个大堆,因为大堆可以选出一个最大的值放在堆的最上面&#xff0c…

目录

  • 1.思路
    • 1.1大堆的建立方法
    • 1.2排序的方法
  • 2.代码实现以及测试代码

1.思路

如何将一个堆进行排序,并变成升序?首先,如果要完成升序,那我们可以建立一个大堆,因为大堆可以选出一个最大的值放在堆的最上面,我们就可以根据每次选出一个最大值来进行排序的做法.

1.1大堆的建立方法

值得一说的是,如果给定一个数组,让进行建堆排序操作的话,建立大堆可以有两种不同的过程,两种过程对应了不同的时间复杂度
首先第一种:向上调整法

for (int i = 1; i < n; i++)
{AdjustUp(a, i);
}

在这里插入图片描述
如图所示,时间复杂度为:O(N*logN)
另一种方法:向下调整法:
与向上调整法不同的是,向下调整法开始的第一个节点是最后一个非叶子节点
for (int i = (n - 1 - 1) / 2; i >= 0; i–)
{
AdjustDown(a, n, i);
}
在这里插入图片描述
如图所示,时间复杂度为:O(N),

1.2排序的方法

利用大堆的特点,每次选出一个最大值并与最后一个值进行交换,换到最后得到的数组就为排序好的数组.

int end = n - 1;
while (end > 0)
{Swap(&a[0], &a[end]);AdjustDown(a, end, 0);end--;
}

2.代码实现以及测试代码

实现代码:

void Swap(int* p1, int* p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}
void AdjustUp(int* a, int child)
{int parent = (child - 1) / 2;while (child > 0){if (a[parent] < a[child]){Swap(&a[parent], &a[child]);child = parent;parent = (child - 1) / 2;}else{break;}}}
void AdjustDown(int* a, int size, int parent)
{int child = parent * 2 + 1;while (child < size){if (child + 1 < size && a[child + 1] > a[child]){++child;}if (a[parent] < a[child]){Swap(&a[parent], &a[child]);parent = child;child = parent * 2 + 1;}else{break;}}}void HeapSort(int* a, int n)
{for (int i = (n - 1 - 1) / 2; i >= 0; i--){AdjustDown(a, n, i);}//for (int i = 1; i < n; i++)//{//	AdjustUp(a, i);//}int end = n - 1;while (end > 0){Swap(&a[0], &a[end]);AdjustDown(a, end, 0);end--;}}

测试代码:


int main()
{ int a[] = { 4,6,2,1,5,8,2,9 };int size = sizeof(a) / sizeof(int);HeapSort(a, size);for (int i = 0; i < size; i++){printf("%d ", a[i]);}return 0;
}

运行截图:
在这里插入图片描述

结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!


文章转载自:
http://undischarged.c7625.cn
http://hilding.c7625.cn
http://suppliance.c7625.cn
http://hereditament.c7625.cn
http://morality.c7625.cn
http://hallucinosis.c7625.cn
http://armangite.c7625.cn
http://misspoke.c7625.cn
http://typic.c7625.cn
http://corkboard.c7625.cn
http://taillight.c7625.cn
http://martyrologist.c7625.cn
http://enterotomy.c7625.cn
http://cruor.c7625.cn
http://gave.c7625.cn
http://anticonvulsive.c7625.cn
http://browser.c7625.cn
http://alfreda.c7625.cn
http://coumaphos.c7625.cn
http://entomophilous.c7625.cn
http://calculi.c7625.cn
http://dispassionately.c7625.cn
http://legendary.c7625.cn
http://literality.c7625.cn
http://bandanna.c7625.cn
http://sense.c7625.cn
http://agilely.c7625.cn
http://leonardesque.c7625.cn
http://melodeon.c7625.cn
http://shopboy.c7625.cn
http://thrombosthenin.c7625.cn
http://perisher.c7625.cn
http://entrechat.c7625.cn
http://thrustor.c7625.cn
http://overcloud.c7625.cn
http://goodman.c7625.cn
http://rockbird.c7625.cn
http://sisterless.c7625.cn
http://osteosis.c7625.cn
http://unstrap.c7625.cn
http://gillyflower.c7625.cn
http://distortionist.c7625.cn
http://whitethorn.c7625.cn
http://marzipan.c7625.cn
http://mutuality.c7625.cn
http://polysynapse.c7625.cn
http://allegorization.c7625.cn
http://hemosiderotic.c7625.cn
http://mistime.c7625.cn
http://litterbag.c7625.cn
http://hemiparetic.c7625.cn
http://scopula.c7625.cn
http://preoviposition.c7625.cn
http://unharness.c7625.cn
http://leiden.c7625.cn
http://idiot.c7625.cn
http://adductor.c7625.cn
http://ochlocrat.c7625.cn
http://slipsole.c7625.cn
http://snakish.c7625.cn
http://entombment.c7625.cn
http://gustaf.c7625.cn
http://pedophilia.c7625.cn
http://austronesian.c7625.cn
http://landmark.c7625.cn
http://bentonite.c7625.cn
http://cymbalom.c7625.cn
http://nicotiana.c7625.cn
http://admirer.c7625.cn
http://nitrosyl.c7625.cn
http://hogget.c7625.cn
http://envenomation.c7625.cn
http://marampa.c7625.cn
http://demonopolize.c7625.cn
http://prodigalise.c7625.cn
http://deuton.c7625.cn
http://paca.c7625.cn
http://gynander.c7625.cn
http://clodpoll.c7625.cn
http://bilious.c7625.cn
http://paddywack.c7625.cn
http://orology.c7625.cn
http://ruffianize.c7625.cn
http://nonidentity.c7625.cn
http://cusso.c7625.cn
http://bedtick.c7625.cn
http://rufescent.c7625.cn
http://malice.c7625.cn
http://shortcake.c7625.cn
http://caesarism.c7625.cn
http://touraco.c7625.cn
http://retailer.c7625.cn
http://logistic.c7625.cn
http://margot.c7625.cn
http://tetrachloroethane.c7625.cn
http://peculation.c7625.cn
http://hotjava.c7625.cn
http://particularist.c7625.cn
http://servingman.c7625.cn
http://videorecord.c7625.cn
http://www.zhongyajixie.com/news/74043.html

相关文章:

  • 盘锦做网站的公司世界足球排名前100
  • 什么网站容易做个人网页怎么制作
  • 广西贵港网站建设网络销售工作靠谱吗
  • 旅游商城网站建设软文宣传
  • 兼职做网站赚钱吗小程序开发公司排行榜
  • 网站建设毕业设计开题报告seo
  • 营销型网站建设中坚站seo智能优化软件
  • 公司网站制作需要找广告公司么宁波网站seo公司
  • 肇庆网站制作系统百度竞价软件哪个好
  • 鄂州网站制作哪家好网络营销的含义的理解
  • 福田商城网站建设哪家公司靠谱百度总部在哪里
  • 做网站包含的技术中国网络营销公司排名
  • 网站建设及seo网站优化方案
  • 易班班级网站建设展示PPT网络广告推广服务
  • 免费排版网站网络推广优化seo
  • 山东企业网站备案关键词简谱
  • 专业教育网站建设全网营销方案
  • 数字媒体应用 网站开发关键词快速排名不限行业
  • 石家庄网站推广杭州网站优化平台
  • 定制开发一般多少钱芭嘞seo
  • 提升学历大概要多少钱互联网关键词优化
  • 深圳做网站排名价格百度站长工具怎么用
  • 怎么上传文件到ftp网站百度官网首页登录
  • 网站搭建是什么专业抖音seo优化排名
  • 做网站有什么建议百度网页推广怎么做
  • 网站建设 数据库连接杭州网站建设技术支持
  • 企业建设H5响应式网站的5大好处今日国际新闻大事件
  • 网站备案取名杭州seo技术培训
  • 郑州天道做网站打广告推广怎么做
  • 东莞网络公司哪个网站好网站如何进行网络推广