Oracle数组冒泡排序,如何实现类似于冒泡排序的函数

写着玩的啊,不需要写函数的,bell那个用的是wmsys,你看你有这个吗,或者看精华帖行转列,很多的

CREATE OR REPLACE FUNCTION bubbleSort(str IN VARCHAR2)

RETURN VARCHAR2 IS

type  type_tt is varray(1000) of varchar2(100);

var type_tt;

temp varchar2(100);

flag boolean;

results VARCHAR2(4000);

BEGIN

select  substr(str,level,1) bulk collect into  var

from dual connect by level <=length(str);

<>

for i in  1 .. var.count-1 loop

flag := false;

for j in reverse i .. var.count-1 loop

if var(j+1)

temp := var(j+1);

var(j+1) := var(j);

var(j) := temp;

flag := true;

end if;

end loop;

if (not flag) then

exit outer_scope;

end if;

end loop;

for i in var.first .. var.last loop

results :=concat(results,var(i));

end loop;

return results;

END bubbleSort;

/

SQL> select bubbleSort('bacca') x from dual;

X

--------------------------------------------------------------------------------

aabcc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值