ok, je me bats là-dessus. Je dois charger un tableau dans le nom de famille de personnes stocké dans une table. Triez ensuite les noms de famille et imprimez-les par ordre alphabétique. Cela doit être fait en utilisant l'algorithme de tri à bulles.pl/sql bubble tri
voici ce que j'ai jusqu'à présent
CREATE OR REPLACE PROCEDURE TEAM_TABLE_SORT AS
TYPE player_Name_type IS TABLE OF databasename.team.player%type
INDEX BY PLS_INTEGER ;
player_name player_Name_type;
i integer := 1;
temp integer;
BEGIN
FOR player_names IN (SELECT * FROM marshall.team)
LOOP
player_name(i) := player_names.player;
DBMS_OUTPUT.PUT_LINE(i|| ' - ' ||chr(9) || player_name(i)) ;
i := i + 1 ;
END LOOP
Tout cela fait vraiment est d'imprimer les noms. Je n'arrive pas à le trier. Je ne suis pas essayer chose cela
TYPE player_Name_type IS TABLE OF %type INDEX BY varchar2(20) ;
aux player_Name_type;
i integer := 1;
v_current is table of aux
swapped BOOLEAN := TRUE;
BEGIN
FOR aux IN (SELECT * FROM)
LOOP
DBMS_OUTPUT.PUT_LINE(i|| ' - ' ||chr(9) || aux.player);
i := i + 1 ;
END LOOP;
v_current := aux.first;
WHILE(swapped)
LOOP
swapped := FALSE;
FOR I IN 1..(aux.count-2) LOOP
IF aux(i) > aux(I+1) THEN
v_current := aux(i+1);
aux(I+1) := aux(i);
aux(i) := v_current;
END IF;
swapped := TRUE;
END LOOP;
END LOOP;
FOR aux IN (SELECT * FROM LOOP
DBMS_OUTPUT.PUT_LINE(i|| ' - ' ||chr(9) ||aux.player);
i := i + 1 ;
END LOOP;
'ORDER BY lastname' =) –
Pourquoi devez-vous utiliser le tri à bulles? –
Ceci est une très mauvaise question de devoirs - vous obligeant à mettre en œuvre quelque chose qui, si vous deviez l'essayer dans le monde réel, vous seriez immédiatement "lâché" (ou au moins envoyé au camp de rééducation) :) –