Jump to content

Eleanordum

Members
  • Posts

    1
  • Joined

  • Last visited

About Eleanordum

  • Birthday 02/07/1992

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Eleanordum's Achievements

Newbie

Newbie (1/14)

10

Reputation

  1. 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
×
×
  • Create New...