|
|
CREATE OR REPLACE PROCEDURE TEST IS
BEGIN
DECLARE
TYPE T_TABLE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
V_TABLE T_TABLE;
V_CNT NUMBER;
V_TMP NUMBER;
BEGIN
V_TABLE(0) := '3';
V_TABLE(1) := '1';
V_TABLE(2) := '31';
V_TABLE(3) := '91';
V_TABLE(4) := '8';
V_TABLE(5) := '4';
V_CNT := V_TABLE.COUNT;
--dbms_output.put_line(v_cnt);
FOR I IN 1 .. V_CNT - 1 LOOP
FOR J IN REVERSE I .. V_CNT - 1 LOOP
---把最小的放到数组的最前面。
-- dbms_output.put_line(v_table(j));
--dbms_output.put_line(j);
IF V_TABLE(J) <= V_TABLE(J - 1) THEN
V_TMP := V_TABLE(J);
V_TABLE(J) := V_TABLE(J - 1);
V_TABLE(J - 1) := V_TMP;
END IF;
END LOOP;
END LOOP;
FOR M IN 0 .. V_CNT - 1 LOOP
DBMS_OUTPUT.PUT_LINE(V_TABLE(M));
END LOOP;
END;
END;
|
|