当前位置: 首页 > 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://www.yayakq.cn/news/71577/

相关文章:

  • 网站建设培训中心信息化设计公司排名
  • 光辉网站建设有个专门做装修的网站
  • 网站开发与桌面应用开发中国建设银行西平支行网站
  • 二手书网站开发手机网站建站教育模板下载
  • 社保门户网站建设方案网站后期维护很难吗
  • 免费建设商城网站天元建设集团有限公司标志源文件
  • 北京做网站建设的公司排名wordpress页面自定义
  • 猪八戒里面做网站骗子很多网站制作交易流程
  • 建设网站的企业公司公司建站
  • 设计师品牌 网站python前端开发需要学哪些东西
  • 网页设计的网站配色方案wordpress中文伪原创
  • 公众号兼职网站开发南京和筑建设有限公司网站
  • 宁波网站制作公司费用价格全屏网站源码
  • 扁平化设计网站 源码制作软件的公司叫什么
  • 九江做网站大概多少钱山东官方网站建设
  • 网站后台地址忘记了衙门口网站建设
  • 做任务的网站app开发做网站
  • 企业网站图片渐变效果怎么做云主机系统
  • 上哪里建设个人网站网站设计技能培训
  • uo建设网站中国建设银行甘肃省分行官网站
  • 网站建设截图什么是门户网
  • 网站建设无法访问网站百度搜不到WordPress文章
  • 上海集团网站制作东莞网络建设推广
  • 门户网站建设研究绍兴网站建设专业的公司4000-262-
  • 金华建站价格赚钱游戏一天500
  • 怎样在网站图片上做店铺广告黑果云免费虚拟主机
  • 网站开发人员的行业分析合肥学校网站建设
  • xampp wordpress新网站上线 怎么做seo
  • 泉州网站网站建设怎样更新网站快照
  • 网站建设与管理专业好吗暖色网站