这大概是一个简单的问题。假设我有一个包含大约 20-50 个条目的小列表。就像是:
class Item
{
int ItemNumber;
int OrderNumber;
string Name;
}
stored in something like
List<Item>
这存储在通用列表或数组中,OrderNumber 从 1、2、3、4、....50 开始。为了使事情变得更容易,我们假设 OrderNumber 已经在 List 中的其他地方通过 QuickSort 进行了排序(除非这使事情变得更复杂)。
假设我想将 Item.OrderNumber = 30 移动到 Item.OrderNumber = 20 或类似的位置。当我这样做时,现在需要移动 20 以上的所有内容,以便旧的 20 现在是 21,21 现在是 22,等等,直到我达到 30。它还需要以其他方式进行,所以当 Item.OrderNumber = 30被移动到 Item.OrderNumber = 34 并且一切都必须向下移动。
我正在考虑将列表冒泡几次,但我希望有更好的方法来做到这一点。尽管列表大小很小,但这需要为各种不同的事情做很多事情。
编辑:只是为了让你知道。结果最终必须以某种类型的事务存储在数据库中。