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

// Увеличиваем количество хранимых элементов на странице и вставляем ключ.

CurrentLeafPage.Count++;

CurrentLeafPage.PageItems[_currentElementIndex].Key = Key;

if (_currentElementIndex==0)

NodeArray[_currentPageIndex].Key = key;

version++; // Произошли изменения, увеличиваем текущую версию.

//

// Если текущая страница листовая полностью заполнена,

// то существуют 2 варианта. Можно либо перенести элемент с текущей

// страницы на соседнюю, либо разбить страницу на 2.

//

if (CurrentLeafPage.Count == BTConst.MaxCount)

{

// Страница полностью заполнена.

// Если второго уровня нет...

if (_pageCount == 1)

{

// ... то создаем второй уровень.

//

// Для этого делим текущую страницу пополам...

LeafPage<K,V> NewPage = new LeafPage<K,V>();

// ...исправляем ссылки в полях NextPage и PriorPage

// чтобы можно было осуществлять сквозную навигацию

// по листовым страницам.

CurrentLeafPage.NextPage = NewPage;

NewPage.PriorPage = CurrentLeafPage;

// Перемещаем половину элементов исходного массива в новый.

Array.Copy(CurrentLeafPage.PageItems, BTConst.MidlCount,

NewPage.PageItems, 0, BTConst.MidlCount);

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