题目:对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;