PureBasic

SelectElement()

Синтаксис

*Result = SelectElement(List() , Position)

Описание


Устанавливает элемент в указанной позиции в качестве текущего элемента Связного Списка List(). Это очень удобно, если вы хотите перейти к определенной позиции в Списке, не используя для этого отдельный цикл.

Параметры

List() Имя Списка, созданного с помощью функции NewList, текущий элемент которого будет изменён. Вы должны указать скобки после имени Списка.
Position Позиция нового текущего элемента в Списке, учитывая, что первый элемент в Списке находится в позиции 0, следующий - в 1 и так далее. Вы должны убедиться, что вы не указываете позицию, которая находится за пределами числа элементов в Списке!

Возвращаемое значение

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

Комментарии

Поскольку Списки не используют внутреннюю индексацию, эта функция будет последовательно перебирать каждый элемент Списка, пока не будет достигнута целевая позиция, которая займет время, если Список большой. Если требуется более быстрый метод, следует использовать ChangeCurrentElement().

Пример

NewList mylist.l()

AddElement(mylist()) : mylist() = 23
AddElement(mylist()) : mylist() = 56
AddElement(mylist()) : mylist() = 12
AddElement(mylist()) : mylist() = 73

SelectElement(mylist(), 0)
MessageRequester("Позиция", "В позиции 0, значение "+Str(mylist()), 0)

SelectElement(mylist(), 2)
MessageRequester("Позиция", "В позиции 2, значение "+Str(mylist()), 0)

SelectElement(mylist(), 1)
MessageRequester("Позиция", "В позиции 1, значение "+Str(mylist()), 0)

SelectElement(mylist(), 3)
MessageRequester("Позиция", "В позиции 3, значение "+Str(mylist()), 0)

См. также

ChangeCurrentElement()

Поддерживаемые OS

Все

<- ResetList() - Оглавление List - SplitList()->