/*使用PL/SQL实现一个冒泡排序。
8个数:12 25 16 90 44 32 14 54
输出排序后的结果*/
declare
type mynumber is table of number(10) index by binary_integer;--定义数组
myno mynumber;
x number;
begin
myno(1):=12;
myno(2):=25;
myno(3):=16;
myno(4):=90;
myno(5):=44;
myno(6):=32;
myno(7):=14;
myno(8):=54;
for i in reverse 1..myno.count loop
--依次提取8次下标位数字
for j in reverse (i+1)..myno.count loop
if myno(i)>myno(j)then--和每个后面比较
--每次提取的下标位与后面每列相比,提出最大值
x:=myno(i);
myno(i):=myno(j);
myno(j):=x;
end if;
end loop;
end loop;
for i in reverse 1..8 loop
dbms_output.put_line(myno(i));
end loop;
end;
declare
type mynumber is table of number(10) index by binary_integer;
myno mynumber;
x number(10);
begin
myno(1):=12;
myno(2):=25;
myno(3):=16;
myno(4):=90;
myno(5):=44;
myno(6):=32;
myno(7):=14;
myno(8):=54;
for i in reverse 1..myno.count loop
--依次提取8次下标位数字
for j in 1..i-1 loop--这里是从1到i-1
if myno(j)>myno(j+1)then--前后比较
x:=myno(j);
myno(j):=myno(j+1);
myno(j+1):=x;
end if;
end loop;
dbms_output.put_line(myno(i));
end loop;
end;
8个数:12 25 16 90 44 32 14 54
输出排序后的结果*/
declare
type mynumber is table of number(10) index by binary_integer;--定义数组
myno mynumber;
x number;
begin
myno(1):=12;
myno(2):=25;
myno(3):=16;
myno(4):=90;
myno(5):=44;
myno(6):=32;
myno(7):=14;
myno(8):=54;
for i in reverse 1..myno.count loop
--依次提取8次下标位数字
for j in reverse (i+1)..myno.count loop
if myno(i)>myno(j)then--和每个后面比较
--每次提取的下标位与后面每列相比,提出最大值
x:=myno(i);
myno(i):=myno(j);
myno(j):=x;
end if;
end loop;
end loop;
for i in reverse 1..8 loop
dbms_output.put_line(myno(i));
end loop;
end;
declare
type mynumber is table of number(10) index by binary_integer;
myno mynumber;
x number(10);
begin
myno(1):=12;
myno(2):=25;
myno(3):=16;
myno(4):=90;
myno(5):=44;
myno(6):=32;
myno(7):=14;
myno(8):=54;
for i in reverse 1..myno.count loop
--依次提取8次下标位数字
for j in 1..i-1 loop--这里是从1到i-1
if myno(j)>myno(j+1)then--前后比较
x:=myno(j);
myno(j):=myno(j+1);
myno(j+1):=x;
end if;
end loop;
dbms_output.put_line(myno(i));
end loop;
end;