이것은 아마도 간단한 질문 일 것입니다. 제가 약 20-50 개의 항목이있는 작은 목록이 있다고 가정 해 봅시다. 뭔가 같은목록의 중간에 뭔가를 삽입하는 좋은 방법은 무엇입니까?
class Item
{
int ItemNumber;
int OrderNumber;
string Name;
}
stored in something like
List<Item>
이것은 OrderNumber를 1, 2,3,4, ... (50)로부터 어디로에서 일반적인리스트 또는 배열되어 저장된다. 일을 더 쉽게하려면 OrderNumber가 ListSuite에 의해 이미 정렬되어 있다고 가정 해 봅시다.
Item.OrderNumber = 30을 Item.OrderNumber = 20 또는 그와 비슷한 부분으로 옮기고 싶습니다. 그 일을 할 때, 20 세 이상은 이제 20 세가 될 때까지 21 세가되도록 21, 21 세가 22 세가 될 때까지 이동해야합니다. Item.OrderNumber = 30 일 때 다른 방법으로 이동해야합니다. Item.OrderNumber = 34로 이동되고 모든 것이 아래쪽으로 이동되어야합니다.
나는 목록을 몇 번 버블 링하는 것에 대해 생각하고 있지만, 이것을 수행하는 더 좋은 방법이 있기를 바랍니다. 리스트 크기는 작지만, 이것은 다양한 다른 것들을 위해 많이해야합니다.
편집 : 알려주세요. 결과는 결국 일부 유형의 트랜잭션에서 데이터베이스에 저장되어야합니다. 만약 이중 연결리스트를 사용하면
이 목록입니다 번호 다시 매기기 항목 을 제거 .BinarySearch 스킵리스트 IMPL에 대한 인터페이스를 제공합니다.? –
mabbit
이것은 배열로 뒷받침 된 목록의 정상적인 이진 검색 일뿐입니다. –