Ciao! Ho implementato l'Heapify e il BuildHeap ma non riesco a capire l'errore...me lo segna all'interno del Main() nel buildHeap..sembra dichiarato bene..
codice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace heapify4
{
    class Program
    {
        public int left(int i)
        {
            int lx = (2 * i) + 1;
            return lx;
        }
        public int right(int i)
        {
            int rx = (2 * i) + 2;
            return rx;
        }

        public void Heapify(int[] A, int i)
        {
            int l = left(i);
            int r = right(i);
            int largest;
            int app=0;

            if ((l < A.Length) && (A[l] > A[i]))
                largest = l;
            else
                largest = i;

            if ((r < A.Length) && (A[r] > A[i]))
                largest = r;
            if (largest != i)
            {
                app = A[i];
                A[i] = A[largest];
                A[largest] = app;
            }
            Heapify(A, largest);
        }

        public void buildHeap(int[] A)
        {
            int n=(A.Length)-1;
            for (int i = n / 2; i >= 0; i--)
                Heapify(A , i);
        }


        static void Main(string[] args)
        {
            int[] A = new int[] { 7, 14, 3, 5, 13, 4, 44 };
            buildHeap(A);
            
            for (int i=0; i<= 7 ;i++)
                Console.WriteLine("" +A[i]);
                Console.ReadLine();

        }
    }

}