首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

一组按升序排列的数字,修改一个,其他的联动修改,之后重新排列,如何用java实现这个算法

2012-09-20 
一组按升序排列的数字,修改一个,其他的联动修改,之后重新排列,怎么用java实现这个算法?现在有一组数据,例

一组按升序排列的数字,修改一个,其他的联动修改,之后重新排列,怎么用java实现这个算法?
现在有一组数据,例如 1,2,3,4,将2修改为1,则将1修改为2,3、4不变,依旧是升序排列。如果是4修改为1,则原1、2、3后移以为,变为2、3、4,从新按升序排列,用java怎么实现?

[解决办法]
需要两个变量:一个是要移动的那个数字m,一个是要移动到的位置n。
select id from table where num=m ; //先把id保存起来
if m>n :
update table set num=num+1 where num>=n and num<m
else if m<n 
update table set num=num-1 where num>m and num<=n

最后:update table set num=n where id=#id //之前保存的id

热点排行