C#堆排序实现方法

 更新时间:2015年04月02日 10:38:18   作者:令狐不聪  
这篇文章主要介绍了C#堆排序实现方法,实例分析了C#对排序的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#堆排序实现方法。分享给大家供大家参考。具体如下:

private static void Adjust (int[] list, int i, int m)
{
 int Temp = list[i];
 int j = i * 2 + 1;
 while (j <= m)
 {
  //more children
  if(j < m)
   if(list[j] < list[j + 1])
    j = j + 1;
  //compare roots and the older children
  if(Temp < list[j])
  {
   list[i] = list[j];
   i = j;
   j = 2 * i + 1;
  }
  else
  {
   j = m + 1;
  }
 }
 list [i] = Temp;
}
public static void HeapSort (int[] list)
{
 //build the initial heap
 for (int i = (list.Length - 1) / 2; i > = 0; i-)
  Adjust (list, i, list.Length - 1);
 
 //swap root node and the last heap node
 for (int i = list.Length - 1; i > = 1; i-)
 {
  int Temp = list [0];
  list [0] = list [i];
  list [i] = Temp;
  Adjust (list, 0, i - 1);
 }
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C# 和 Python 的 hash_md5加密方法

    C# 和 Python 的 hash_md5加密方法

    这篇文章主要介绍了C# 和 Python 的 hash_md5加密方法,文章围绕着C# 和 Python 的 hash_md5加密的相关资料展开文章的详细呢偶然,需要的朋友可以参考一下,希望对你有所帮助
    2021-11-11
  • c#使用IAsyncEnumerable实现流式分段传输

    c#使用IAsyncEnumerable实现流式分段传输

    这篇文章主要为大家详细介绍了c#如何使用IAsyncEnumerable实现流式分段传输,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • C#中使用DataContractSerializer类实现深拷贝操作示例

    C#中使用DataContractSerializer类实现深拷贝操作示例

    这篇文章主要介绍了C#中使用DataContractSerializer类实现深拷贝操作示例,本文给出了实现深拷贝方法、测试深拷贝方法例子、DataContractSerializer类实现深拷贝的原理等内容,需要的朋友可以参考下
    2015-06-06
  • C#简单的向量用法实例教程

    C#简单的向量用法实例教程

    这篇文章主要介绍了C#简单的向量用法,需要的朋友可以参考下
    2014-07-07
  • C#探秘系列(四)——GetHashCode,ExpandoObject

    C#探秘系列(四)——GetHashCode,ExpandoObject

    这篇继续分享下GetHashCode和ExpandoObject这两个比较好玩的方法。
    2014-05-05
  • C#连接SQL Sever数据库详细图文教程

    C#连接SQL Sever数据库详细图文教程

    C#是Microsoft公司为.NET Framework推出的重量级语言,和它搭配最完美的数据库无疑就是Microsoft SQL Server了,下面这篇文章主要给大家介绍了关于C#连接SQL Sever数据库的详细图文教程,需要的朋友可以参考下
    2023-06-06
  • c#执行excel宏模版的方法

    c#执行excel宏模版的方法

    这篇文章主要介绍了c#执行excel宏模版的方法,导出Excel模版的代码如下,大家参考使用吧
    2014-01-01
  • 在GridControl控件上绑定图片的几种操作方式详解

    在GridControl控件上绑定图片的几种操作方式详解

    GridControl控件是经常用来绑定数据的,一般以常规的字符内容为主,有时候也会有图片的显示需要,这篇文章主要介绍了在GridControl控件上绑定图片的几种操作方式详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • C#中实现Json序列化与反序列化的几种方式

    C#中实现Json序列化与反序列化的几种方式

    C#中实现Json的序列化与反序列化也算是个老话题,那么在这篇文章中我们将老话重提,本文中将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象。有需要的朋友们可以参考借鉴,下面来跟着小编一起学习学习吧。
    2016-12-12
  • C#统计字符串里中文汉字个数的方法

    C#统计字符串里中文汉字个数的方法

    这篇文章主要介绍了C#统计字符串里中文汉字个数的方法,本文通过正则实现统计出一段字符串里中文字数,需要的朋友可以参考下
    2014-08-08

最新评论