CREATE OR REPLACE PROCEDURE bubble_sort AS TYPE int_array IS TABLE OF INTEGER INDEX BY PLS_INTEGER; numbers int_array; temp INTEGER; swapped BOOLEAN; BEGIN -- Initialisation de la liste numbers(1) := 64; numbers(2) := 34; numbers(3) := 25; numbers(4) := 12; numbers(5) := 22; numbers(6) := 11; numbers(7) := 90; -- Boucle principale du tri LOOP swapped := FALSE; FOR i IN 1..(numbers.COUNT - 1) LOOP IF numbers(i) > numbers(i + 1) THEN -- Échange des éléments en utilisant une variable temporaire temp := numbers(i); numbers(i) := numbers(i + 1); numbers(i + 1) := temp; swapped := TRUE; END IF; END LOOP; -- Si aucun échange n'a été effectué, la liste est triée EXIT WHEN NOT swapped; END LOOP; -- Affichage de la liste triée FOR i IN 1..numbers.COUNT LOOP DBMS_OUTPUT.PUT_LINE('numbers(' || i || ') = ' || numbers(i)); END LOOP; END bubble_sort; /