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(); } } }

Rispondi quotando
