Реализация Java IntervalTree DeleteNode

Ну, каков источник данных? Ваше действие могло взять, некоторые приняли значение по умолчанию, аргументы, т.е.

ActionResult Search(string query, int startIndex, int pageSize) {...}

приняли значение по умолчанию в установке маршрутов так, чтобы startIndex был 0, и размер страницы (говорят) 20:

        routes.MapRoute("Search", "Search/{query}/{startIndex}",
                        new
                        {
                            controller = "Home", action = "Search",
                            startIndex = 0, pageSize = 20
                        });

Для разделения канала можно использовать LINQ довольно легко:

var page = source.Skip(startIndex).Take(pageSize);

(или делают умножение при использовании "pageNumber", а не "startIndex")

С LINQ-toSQL, EF, и т.д. - это должно "сочинить" вниз к базе данных, также.

необходимо тогда быть в состоянии использовать ссылки действия на следующую страницу (и т.д.):

<%=Html.ActionLink("next page", "Search", new {
                query, startIndex = startIndex + pageSize, pageSize }) %>
7
задан jedierikb 10 April 2015 в 15:31
поделиться

3 ответа

В конечном итоге я изменил sun.jvm.hotspot.utilities.IntervalTree , чтобы сохранить Набор удаленных узлов. При поиске я исключаю любые предметы из этого набора. Не идеально, но это было намного проще, чем заставить работать «настоящее» удаление. Как только удаленный набор становится слишком большим, я восстанавливаю дерево.

5
ответ дан 7 December 2019 в 10:05
поделиться

В этом проекте есть реализация RangeTree, которая может быть для вас более полезной. Пакеты sun могут быть подходящими для быстрого и грязного использования, но я бы не рекомендовал создавать что-либо важное, полагаясь на них. Солнце может не поддерживать их стабильность.

1
ответ дан 7 December 2019 в 10:05
поделиться

Я не знаю ваших точных требований, но нестатическое дерево сегментов может вам подойти. Если это так, обратите внимание на ПО управления макетом , в частности на пакет SegmentTree . В нем есть функция удаления, которая вам нужна.

Если вы решите откатить свой собственный, могу ли я предложить открыть исходный код? Я удивлен, что до сих пор нет открытого и простого дерева интервалов.

0
ответ дан 7 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: