Jump to content
Eleanordum

Pseudocod

Recommended Posts

Posted

Salut!

Ma puteti ajuta, va rog, sa transform urmatorul pseudocod in C?

Va multumesc!

Scrie?i ?i testati o func?ie C care implementeaz? algoritmul heapsort dup? pseudocodul prezentat la

curs.

MAIN()

HEAP_SIZE := 0;

READ n //lungime array

READ_ARRAY(a, n)

HEAP_SORT(a, n)

PRINT_ARRAY(a, n) // sorted array

END MAIN

HEAP_SORT(A, N)

BUILD_MAX_HEAP(A, N)

FOR i := N-1 DOWNTO 1

exchange A[0] with A[ i ]

HEAP_SIZE := HEAP_SIZE -1

MAX_HEAPIFY(A, 0)

END FOR

END HEAP_SORT

BUILD_MAX_HEAP(A, N)

HEAP_SIZE := N – 1

FOR i := [N/2] DOWNTO 0

MAX_HEAPIFY(A, i)

END FOR

END BUILD_MAX_HEAP

LEFT (X)

RETURN 2 * X + 1

END LEFT

RIGHT (X)

RETURN 2 * X + 2

END RIGHT

MAX_HEAPIFY (A, X)

l := LEFT (X)

r := RIGHT(X)

IF l ? HEAP_SIZE AND A[ l ] > A[ X ] THEN

largest := l

ELSE

largest := X

END IF

IF r ? HEAP_SIZE AND A[r] > A[largest] THEN

largest := r

END IF

IF (largest != X)

exchange A[X] with A[largest]

MAX_HEAPIFY(A, largest)

END IF

END MAX_HEAPIFY

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...