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

对中国建设银行网站的优点百度引擎搜索

对中国建设银行网站的优点,百度引擎搜索,衢州网站设计公司排行,公司网站怎样添加和修改内容追梦之旅【数据结构篇】——看看小白试如何利用C语言“痛”撕堆排序 ~😎 前言🙌堆的应用 —— 堆排序算法:堆排序算法源代码分享运行结果测试截图: 总结撒花💞 😎博客昵称:博客小梦 &#x1f60…

追梦之旅【数据结构篇】——看看小白试如何利用C语言“痛”撕堆排序 ~😎

  • 前言🙌
    • 堆的应用 —— 堆排序算法:
      • 堆排序算法源代码分享
      • 运行结果测试截图:
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,手把手带领大家追梦之旅【数据结构篇】——看看小白试如何利用C语言“痛”撕堆排序~ 都是精华内容,可不要错过哟!!!😍😍😍

堆的应用 —— 堆排序算法:

堆排序即利用堆的思想来进行排序,总共分为两个步骤:

  1. 建堆
    升序:建大堆
    降序:建小堆
  2. 利用堆删除思想来进行排序建堆和堆删除中都用到了向下调整,因此掌握了向下调整,就可以完成堆排序。
  • 利用向上调整建堆的时间复杂度:O(n*logn);
  • 利用向下调整建堆的时间复杂度:O(n);
    因此,在堆排序中应用向下调整算法要优于向上调整算法。所有结点的排序调整部分也是O(n*logn).

最优的堆排序为: O(n + n*logn)。

堆排序算法源代码分享


#include<stdio.h>
void Swap(int* p1, int* p2)
{int tem = *p1;*p1 = *p2;*p2 = tem;
}//建小堆
//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[child] < a[parent])
//		{
//			Swap(&(a[parent]), &(a[child]));
//			parent = child;
//			child = parent * 2 + 1;
//		}
//		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[child] > a[parent]){Swap(&(a[parent]), &(a[child]));parent = child;child = parent * 2 + 1;}else{break;}}
}void HeapSort(int* a, int size)
{//排降序 -- 建小堆/*for (int i = (size - 1 - 1) / 2; i >= 0; i--){AdjustDown(a, size, i);}*///排升序 -- 建大堆for (int i = (size - 1 - 1) / 2; i >= 0; i--){AdjustDown(a, size, i);}//排序int end = size - 1;while (end > 0){Swap(&(a[0]), &(a[end]));AdjustDown(a, end, 0);end--;}
}int main()
{int a[6] = { 22,33,222,1,2,55 };HeapSort(a, 6);for (int i = 0; i < 6; i++){printf("%d ", a[i]);}printf("\n");return 0;
}

运行结果测试截图:

在这里插入图片描述

总结撒花💞

   本篇文章旨在分享详解小白如何使用C语言实现堆数据结构。希望大家通过阅读此文有所收获
   😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

http://www.shuangfujiaoyu.com/news/27820.html

相关文章:

  • 东营网站建设公司我的百度网盘登录入口
  • 普通网站和营销型网站的区别专业网站建设
  • 骨骼型的网站深圳外贸网站建设
  • 简单的网站建设步骤seo推广优化方案
  • wordpress文字转图插件泉州seo外包
  • 做招聘和求职都需要哪些网站电子商务营销策划方案
  • 做百度网站接到多少客户电话交换友情链接推广法
  • 做发型的网站商业网站
  • 公众号开发者权限哪里添加东莞关键词seo
  • 国外免费素材模板网站seo发展前景怎么样啊
  • 怎么样做网站代上海短视频seo优化网站
  • 湖南网站建设公司 尖端磐石网络2345网址导航官网下载
  • 网站网站建设公河南网站推广公司
  • 个人网站推广搜索引擎优化的方法与技巧
  • 德阳定制建站网站建设报价国内新闻摘抄2022年
  • 企业网站后台怎么做营销型网站分为哪几种
  • 做粘土网站百家号关键词seo优化
  • 品牌网站设计制作哪家正规百度手机助手app安卓版官方下载
  • 做网上水果网站的调查站长统计ios
  • 游戏开发与网站开发哪个难网络推广的工作内容是什么
  • 发布的手机网站是乱码北京搜索引擎优化seo
  • 一级a做爰片免费网站丶微信营销推广的方式有哪些
  • 永嘉网站制作公司在线crm网站建站
  • 微信视频网站怎么做的好处win7系统优化软件
  • 国内大型网站建设公司百度快照网站
  • 佛山网站建设联系电话爱用建站官网
  • 网站免费空间申请昆明网站seo服务
  • 手机评测网站市场推广外包团队
  • 专业网站定制服务百度seo手机
  • 图片生成器免费网络seo软件