Kezdőoldal » Elektronikus eszközök » Egyéb kérdések » HeapSort megírásához valami...

VálaszVálaszoló kérdése:

HeapSort megírásához valami tibb? Valamiért nem jó.

Figyelt kérdés

void bubbleSort()

{

//numbers = new int[] { 30, 25, 20, 32, 29, 37, 20, 24 };

for (int i = N - 1; i >= 0; i--) Heapify(numbers,i);//buildarray


Console.WriteLine(numbers[N-1]+"a"+( N - 1));

while (N>0)

{

N--;


Swap(numbers, 0, N);



Heapify(numbers,0);

}



}

void Heapify(int[] arr,int parent)

{

/*int left = parent * 2 + 1;

int right = parent * 2 + 2;

int largest = -1;

if (left<=arr.Length-1)

{

largest = left;

}

if (right <= arr.Length-1 && arr[left] < arr[right])

{

largest = right;

}


if (largest >-1 parent && arr[parent] < arr[largest])

{

Swap(arr, arr[parent], arr[largest]);

Heapify(arr, largest);

}*/

int largest = -1;

int left;

int right;

left = 2 * parent + 1;

right = 2 * parent + 2;

if (left < N)

{

largest = left;

}

if (right < N && arr[right] > arr[left])

{

largest = right;

}

if (largest > -1 && arr[parent] < arr[largest])

{

Swap(arr, parent, largest);

Heapify(numbers,largest);

}



}



private void Swap(int[] arr, int largest, int parent)//function to swap elements

{

int tmp;

tmp = arr[largest];

arr[largest] = arr[parent];

arr[parent] = tmp;

Console.Write("|"+arr[largest] + "| <-> |" + arr[parent]+"|");

}


2017. ápr. 11. 21:10
Sajnos még nem érkezett válasz a kérdésre.
Te lehetsz az első, aki segít a kérdezőnek!

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!