Реферат: Создание эффективной реализации сортированного списка с использованием generics

// можно перекинуть значения на левую страницу.

// Находим нужное количесво элементов для переброски.

int MoveCount = (BTConst.MaxCount - LeftPage.Count) / 2;

// Перемещаем начальные элементы из текущей страницы

// в конец левой страницы...

Array.Copy(CurrentLeafPage.PageItems, 0,

LeftPage.PageItems, LeftPage.Count, MoveCount);

// И сдвигаем оставшиеся элементы страницы в начало.

Array.Copy(CurrentLeafPage.PageItems, MoveCount,

CurrentLeafPage.PageItems, 0, CurrentLeafPage.Count - MoveCount);

// Затираемперемещенныеэлементы.

Array.Clear(CurrentLeafPage.PageItems,

CurrentLeafPage.Count - MoveCount, MoveCount);

// Так как нулевой элемент на странице изменился, необходимо

// откорректировать значение ключа, ссылающегося на эту страницу

// в массиве верхнего уровня.

// Исправляем значение ключа в верхнем уровне так, чтобы его

// значение было равным значению ключа нулевого элемента

// соответствующей листовой страницы.

NodeArray[_currentPageIndex].Key = CurrentLeafPage.PageItems[0].Key;

// Текущий ключ был перемещен.

// Если он переместился на левую страницу, изменяем значение

// текущей страницы и текущего индекса на ней так, чтобы они

// указывалинавставленныйключ.

if (_currentElementIndex < MoveCount)

{

_currentElementIndex += LeftPage.Count;

CurrentLeafPage.Count -= MoveCount;

LeftPage.Count += MoveCount;

К-во Просмотров: 519
Бесплатно скачать Реферат: Создание эффективной реализации сортированного списка с использованием generics