Haskell — Ordenació de llistes

Es vol implementar diversos algorismes d’ordenació de llistes.

1.  Feu una funció insert :: [Int] -> Int -> [Int] que, donada una
    llista ordenada i un element, insereixi ordenadament el nou element
    a la llista.

    Feu una funció isort :: [Int] -> [Int] que implementi l’algorisme
    d’ordenació per inserció utilitzant la funció anterior.

2.  Feu una funció remove :: [Int] -> Int -> [Int] que, donada una
    llista i un element x, elimini la primera ocurrència de x de la
    llista. Podeu assumir que l’element sempre és a la llista.

    Feu una funció ssort :: [Int] -> [Int] que implementi l’algorisme
    d’ordenació per selecció utilitzant la funció anterior.

3.  Feu una funció merge :: [Int] -> [Int] -> [Int] que, donades dues
    llistes ordenades, les fusioni per obtenir una llista amb tots els
    seus elements ordenats.

    Feu una funció msort :: [Int] -> [Int] que implementi l’algorisme
    d’ordenació per fusió utilitzant la funció anterior.

4.  Feu una funció qsort :: [Int] -> [Int] que implementi l’algorisme
    d’ordenació ràpida.

5.  Generalitzeu la funció anterior per fer ara una funció
    genQsort :: Ord a => [a] -> [a] que ordeni llistes de qualsevol
    tipus.

Puntuació

Cada mètode d’ordenació puntua 20 punts.

Informació del problema

Autoria: Albert Rubio / Jordi Petit

Generació: 2026-02-03T17:08:30.895Z

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