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

很难的排序有关问题

2012-01-13 
很难的排序问题我定义了一个序号变量为double型。当在第9和10之间插入一页时,这页的排序号(9+10)/2。但是如

很难的排序问题
我定义了一个序号变量为double型。当在第9和10之间插入一页时,这页的排序号=(9+10)/2。但是如果继续插入若干页后就会发生溢出现象,也就是新插入的页面的排序号计算出来等于9或者10,这时需要重新排序所有页面,但是页面很多,重新排序很费时间,请问大家,有没有更好的办法解决这个重新排序的问题?

[解决办法]
用int型来表示序列号好了,每次插入一个序列号时把排在后面的序列号都加1。
[解决办法]
同意楼上,一个update语句搞定

大概是:
update tablename set id = id + 1 where id > = 10;
insert tablename (id) values(10);
[解决办法]
数据库用varchar ,例如001,002,003....
当001有多个的时候,用这种格式001001,001002,001003....
[解决办法]
不存在哪种方法添加、查找的复杂度都是O(1)的。
LZ想要那种结果?添加复杂度是O(n)还是查找复杂度是O(n)?
[解决办法]
调整序号是必须的
[解决办法]
字符型,9到10之间的插入序号为9-1,9-2

热点排行