zoukankan      html  css  js  c++  java
  • Heap Sort

    堆积排序是对直接选择排序的一种改进,具体实现如下:

    代码
         #region Heap Sort
            
    private static void Adjust(int[] data, int rootIndex, int lastIndex)
            {
                
    if (data == null || data.Length < 1)
                {
                    
    throw new ArgumentNullException("data");
                }

                
    int childIndex = 2 * rootIndex + 1, temp;
                
    while (childIndex <= lastIndex)
                {
                    
    if (childIndex < lastIndex && data[childIndex] < data[childIndex + 1])
                    {
                        childIndex
    ++;
                    }
                    
    if (data[(childIndex - 1/ 2>= data[childIndex])
                    {
                        
    break;
                    }

                    temp 
    = data[(childIndex - 1/ 2];
                    data[(childIndex 
    - 1/ 2= data[childIndex];
                    data[childIndex] 
    = temp;

                    childIndex 
    = 2 * childIndex + 1;
                }
            }

            
    /// <summary>
            
    /// 堆积排序
            
    /// </summary>
            
    /// <param name="data"></param>
            public static void HeapSort(int[] data)
            {
                
    if (data == null || data.Length < 1)
                {
                    
    throw new ArgumentNullException("data");
                }

                
    for (int i = (data.Length - 1/ 2; i >= 0; i--)
                {
                    Adjust(data, i, data.Length 
    - 1);
                }

                
    int temp;
                
    for (int i = data.Length - 1; i > 0; i--)
                {
                    temp 
    = data[i];
                    data[i] 
    = data[0];
                    data[
    0= temp;

                    Adjust(data, 
    0, i - 1);
                }
            }
            
    #endregion
  • 相关阅读:
    [置顶] 强力开刷图论目录(不定期更新)
    强力开刷图论目录(图论再临)
    JQuery实现树的功能doc
    JQuery学习网站
    从相学来看眼神的奥秘
    asp之Repeater
    jquery上传文件
    眼神的心理秘密你了解多少
    jquery表单验证控件,下载地址和使用列子
    保护自己的生存法则:识人看眼神
  • 原文地址:https://www.cnblogs.com/Langzi127/p/1692651.html
Copyright © 2011-2022 走看看