pl/sql 求选择排序

create or replace procedure pr_selection_Sort(in_arry in varchar2)
is
type one_arr is table of number index by binary_integer;
my_one_arr one_arr;
n_arr_index number(10):=0;
n_min number(10):=0;
n_temp number(10):=0;

n_inner_sel_ind number(10):=0;
begin
   for i in (select regexp_substr(in_arry,'[^,]+',1,rownum) my_data from dual
                    connect by rownum<= length(in_arry) - length(replace(in_arry,',',''))+1)
   loop
      n_arr_index := n_arr_index +1;
      my_one_arr(n_arr_index) := i.my_data;
   end loop;

   for j in 1..(n_arr_index-1)
   loop
      n_min := my_one_arr(j);
      n_inner_sel_ind := j;
      for k in (j+1)..n_arr_index
      loop
         if n_min>my_one_arr(k) then
           n_min := my_one_arr(k);
           n_inner_sel_ind := k;
         end if;
      end loop;
      n_temp := my_one_arr(j);
      my_one_arr(j) :=  my_one_arr(n_inner_sel_ind);
      my_one_arr(n_inner_sel_ind) := n_temp;

   end loop;
  
   for l in 1..n_arr_index
   loop
       dbms_output.put_line(my_one_arr(l));
   end loop;

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值