方法一:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApplication3
{class Program{static void Main(string[] args){List<int> seqlist = new List<int> { 42, 20,17, 27,13,8,17,48};HeadOrder(seqlist, 0, seqlist.Count - 1);}public void BubbleSort(List<int> sqList){}public static void CreadHeap(List<int> seqList, int low, int high){            int k;int j=0;int temp = 0;for (int i = high / 2; i >= low; i--){k = i;temp = seqList[i];j = 2 * k + 1;               while (j <= high){                  if (j < high && j + 1 <= high && seqList[j] < seqList[j + 1]){j++;}if (temp < seqList[j]){seqList[k] = seqList[j];                                          k = j;j = 2 * k + 1;}else{j = high + 1;}}seqList[k] = temp;}}public static void HeadOrder(List<int> seqlist, int low, int high){if (high <= low){return;}int temp = 0;CreadHeap(seqlist, 0, high);for (int i = seqlist.Count - 1; i > low; i--){temp = seqlist[0];seqlist[0] = seqlist[i];seqlist[i] = temp;CreadHeap(seqlist, 0, i-1);               }}}
}

方法二:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApplication3
{class Program{static void Main(string[] args){List<int> seqlist = new List<int> { 42, 20,17, 27,13,8,17,48};HeadOrder(seqlist, 0, seqlist.Count - 1);}public void BubbleSort(List<int> sqList){int tmp = 0;for (int i = 0; i < sqList.Count -1; ++i){for (int j = i +1; j<sqList.Count; j++){if (sqList[i] < sqList[j]){tmp = sqList[i];sqList[i] = sqList[j];sqList[j] = tmp;}}}}public static void CreadHeap(List<int> seqList, int low, int high){int k;int j = 0;int temp = 0;for (int i = high / 2; i >= low; i--){k = i;j = 2 * k + 1;while (j <= high){temp = seqList[k];if (j < high&& j + 1 <= high&& seqList[j] < seqList[j + 1]){j++;}if (temp < seqList[j]){seqList[k] = seqList[j];seqList[j] = temp;k = j;j = 2 * k + 1;}else{j = high + 1;}}}}public static void HeadOrder(List<int> seqlist, int low, int high){if (high <= low){return;}int i = low;int temp = 0;CreadHeap(seqlist, 0, high);temp = seqlist[0];seqlist[0] = seqlist[high];seqlist[high] = temp;HeadOrder(seqlist, i, high - 1);}}
}

转载于:https://www.cnblogs.com/Jessy/p/3469246.html

堆排序算法的实现 (冒泡排序)相关推荐

  1. 7个重要内排序算法的实现以及实验比较

    本代码片段对7个内排序算法作出实现与比较,复制粘贴代码即可编译运行 其中,最需要一定掌握的是快速排序,请一定要记得快速排序的代码shi'xi /************************ 内排序 ...

  2. 十一大排序算法的实现

    十一大排序算法的实现 前言 终于写完了,九大排序算法亲自打一遍,给自己加深印象,算是一种模板,留给自己以后用,也分享给大家. U p d a t e : Update: Update: 2020.12 ...

  3. 计算机图形学 区域填充,计算机图形学 区域填充算法的实现

    . '. 实验四区域填充算法的实现班级 08信计学号 58 姓名陈瑞雪分数 一.实验目的和要求: 1.掌握区域填充算法基本知识 2.理解区域的表示和类型,能正确区分四连通和八连通的区域 3.了解区域填 ...

  4. OpenCV中图像旋转(warpAffine)算法的实现过程

    在OpenCV中,目前并没有现成的函数直接用来实现图像旋转,它是用仿射变换函数cv::warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰索斯插值,如果传进去的参数为基 ...

  5. JAVA实现中点画线_实验1-中点画线和Bresenham画线算法的实现

    <实验1-中点画线和Bresenham画线算法的实现>由会员分享,可在线阅读,更多相关<实验1-中点画线和Bresenham画线算法的实现(9页珍藏版)>请在人人文库网上搜索. ...

  6. python边缘检测代码_python Canny边缘检测算法的实现

    图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用.在空域运算中来说,对图像的锐化就是计算微分.对于数字图像的离散信号, ...

  7. 干货回顾丨TensorFlow四种Cross Entropy算法的实现和应用

    交叉熵介绍 交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小,常见的Loss函数就是均方平方差(Mean Squared Er ...

  8. C++基础代码--20余种数据结构和算法的实现

    C++基础代码--20余种数据结构和算法的实现 过年了,闲来无事,翻阅起以前写的代码,无意间找到了大学时写的一套C++工具集,主要是关于数据结构和算法.以及语言层面的工具类.过去好几年了,现在几乎已经 ...

  9. 选择性模糊及其算法的实现。

    选择性模糊及其算法的实现. 我们常见的模糊算法比如均值模糊.高斯模糊等其基本的过程都是计算一个像素周边的的某个领域内,相关像素的某个特征值的累加和及对应的权重,然后得到结果值.比如均值模糊的各像素的权 ...

最新文章

  1. Qt动画框架The Animation Framework
  2. 用好 Java 中的枚举,让你的工作效率飞起来!
  3. IC/FPGA大疆笔试题分析(预分析)
  4. 数据中心可以不设置柴发吗?
  5. LayoutInflater类详解
  6. python 运行cmd命令失败怎么办_python manage.py runserver命令在cmd命令框中可以正确执行,但是在pycharm的终端中运行就失败了!...
  7. js打印不询问直接打印_直接成型喷墨打印的五个关键注意事项
  8. 温湿度服务器系统软件,无线温湿度监测系统
  9. 软考倒计时27天:信息系统集成专业技术知识
  10. Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)【转】
  11. 微信小程序实战篇:基于wxcharts.js绘制移动报表
  12. python:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
  13. ①管理员身份运行cmd;②cmd命令切换到指定文件夹目录;③cmd命令窗口中复制粘贴
  14. 2022级sdut知到/智慧树---c语言第一章测试题解
  15. android ide 下载
  16. 深入理解计算机系统李秋豪,《深入理解计算机系统》第7章:重定位PC相对引用的理解...
  17. 基于人机环境系统工程的智慧企业建设思考(2)
  18. Crazy Mother
  19. 拔丝芋头的Java学习日记---Day9
  20. linux如何通过parted命令对磁盘进行分区

热门文章

  1. Spring基于状态机squirrel-foundation简单使用
  2. 密码中不能包含全角字符的正则表达式
  3. Python 模块 timedatetime
  4. 欧洲的数据中心与美国的数据中心如何区分?
  5. 《面向对象分析与设计》一第2章 什么是面向对象分析
  6. 浅谈PHP+Access数据库的连接 注意要点
  7. 李洪强-C语言2-字符串
  8. 【思科】GNS3模拟静态NAT/动态NAT
  9. 项目实践中Linux集群的总结和思考
  10. 江民杀毒软件KV网络版反病毒整体解决方案──金融行业