题目:对10个数进行排序。
程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。
drop PROCEDURE if EXISTS test ;
create PROCEDURE test(a varchar(1000))
BEGIN
DECLARE i,j,len,m,n int ;
declare x,y varchar(100);
set len=LENGTH(a)- LENGTH(REPLACE(a,',',''))+1 ;
set i=1;
while i<=len do
set j=1 ;
while j<i do
set x= substring_index(substring_index(a, ',', i),',',-1);
set y= substring_index(substring_index(a, ',', j),',',-1);
if x+0<y+0 then
set n=LENGTH(substring_index(a, ',', i))+1;
set a=insert(a,n-LENGTH(x),LENGTH(x),y);
set n=LENGTH(substring_index(a, ',', j))+1;
set a=insert(a,n-LENGTH(y),LENGTH(y),x);
end if;
set j=j+1;
end while;
set i=i+1;
end while;
select a;
end;
本文介绍了一个使用SQL过程实现的排序算法,通过选择法对输入的字符串形式的数字序列进行排序。该算法将数字序列转换为可操作的数据结构,然后逐个比较并交换元素,最终返回排序后的结果。
569

被折叠的 条评论
为什么被折叠?



