C 练习实例37 之mysql实现

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值