これはおそらく簡単な質問です。約 20 ~ 50 エントリの小さなリストがあるとします。何かのようなもの:
class Item
{
int ItemNumber;
int OrderNumber;
string Name;
}
stored in something like
List<Item>
これは、OrderNumber が 1、2、3、4、....50 の汎用リストまたは配列に格納されます。簡単にするために、OrderNumber が既に別の場所で QuickSort によって List 内でソートされていると仮定しましょう (それによって事態が複雑になる場合を除きます)。
Item.OrderNumber = 30 を Item.OrderNumber = 20 などの場所に移動したいとしましょう。これを行うと、古い 20 が 21 になり、21 が 22 になり、30 になるまで、20 を超えるすべてのものをシフトする必要があります。また、Item.OrderNumber = 30 Item.OrderNumber = 34 に移動し、すべてを下に移動する必要があります。
リストを数回バブリングすることを考えていますが、これを行うためのより良い方法があることを願っています. リストのサイズは小さいですが、これはさまざまなことに対して多くのことを行う必要があります。
編集:お知らせするだけです。結果は最終的に、ある種のトランザクションでデータベースに保存する必要があります。