Ordenació RadixSort de naturals

Fes un procediment

  void ordena(vector<nat>& v);

que ordeni @v@ de petit a gran utilitzant l’algorisme d’ordenació RadixSort.

Només s’ha d’enviar el procediment requerit.

Es demana que la solució utilitzi l’algorisme RadixSort descomposant els naturals en els seus bits. El nombre de bits que conté un natural és:

num_bits=sizeof(nat)*8\ \ \ \ num\_bits \ = \ sizeof(nat) \ * \ 8

i el bit de la posició rr d’un natural nn es pot obtenir així:

(n&(1<<r))>>r\ \ \ \ (n \ \& \ ( 1 \ << \ r )) \ >> \ r

sent r[0,num_bits1]r \in [0,\ num\_bits-1]

En els següents exemples, l’entrada consisteix en vàries línies cadascuna d’elles representant un vector: El nombre d’elements del vector seguit dels seus valors. La sortida mostra els elements de cada vector un cop ordenats.

Informació del problema

Autoria: Jordi Esteve

Generació: 2026-01-25T17:23:44.181Z

© Jutge.org, 2006–2026.
https://jutge.org