这可能是一个简单的问题。假设我有一个大约20-50个条目左右的小列表。例如:什么是插入列表中间的东西的好方法?
class Item
{
int ItemNumber;
int OrderNumber;
string Name;
}
stored in something like
List<Item>
它存储在通用列表或数组中,其中OrderNumber从1,2,3,4,... 50开始。为了使事情更容易,让我们假设OrderNumber已经在其他地方的QuickSort列表中排序(除非这使事情更加复杂)。
比方说,我想将Item.OrderNumber = 30移动到Item.OrderNumber = 20或类似的地方。当我这样做的时候,现在需要改变20以上的所有东西,以便旧的20现在是21,21现在是22等,直到我将它设置为30.它还需要以另一种方式进行,所以当Item.OrderNumber = 30移至Item.OrderNumber = 34,所有内容都必须向下移动。
我在考虑冒泡列表几次,但我希望有更好的方法来做到这一点。虽然列表大小很小,但对于各种不同的事情,这需要做很多工作。
编辑:只是让你知道。结果最终必须存储在数据库中,在某些类型的事务中。
是List .BinarySearch到跳跃列表IMPL的接口? –
mabbit
2009-01-20 07:01:52
这仅仅是一个由数组支持的列表上的普通二分查找。 – 2009-01-20 07:08:58