私はビジュアル スタジオ (c#) で SortedList のようなものを見てきました。しかし、私はそれがどのように機能し、どのように使用するかを知りません。通常のリストよりもアクセス時間が速いことを期待して、SortedList を使用したいと考えています。残念ながら、配列は使用できません。簡単な例を見ていただければ幸いです。
編集:オブジェクトクラスがあるとしましょう:
class Point
{
public Point(int a, int b) {x = a; y = b;}
int x;
int y;
}
// x value will not be repeating in a list
Point a1 = new Point(1,2);
Point a2 = new Point(3,5);
Point a3 = new Point(0,2);
Point a4 = new Point(2,7);
Point a5 = new Point(14,2);
Point a6 = new Point(9,10);
SortedList<Point> list = new SortedList<Point>();
list.Add(a1);
list.Add(a2);
list.Add(a3);
list.Add(a4);
list.Add(a5);
list.Add(a6);
これらすべての要素を O(log2n) 時間で追加することは可能ですか? これを追加した後のリストをそのようにしたいと思います。並べ替え後にもう一度並べ替える必要はありません。
(0,2)
(1,2)
(2,7)
(3,5)
(9,10)
(14,2)
そして、(x == 9)のオブジェクトがあるかどうかを確認したいと思います。それは O(log2n) 時間で可能でしょうか?
ありがとう