forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PureBasic (http://forum.boolean.name/forumdisplay.php?f=90)
-   -   Мнгновенный доступ к элементу списка в Пурике - как? (http://forum.boolean.name/showthread.php?t=5500)

Черный крыс 06.01.2008 22:45

Мнгновенный доступ к элементу списка в Пурике - как?
 
Мнгновенный доступ к элементу списка в Пурике - как?

Собственно сабж... как это делаецца на пурике?

dimanche13 06.01.2008 23:59

Re: Мнгновенный доступ к элементу списка в Пурике - как?
 
SelectElement(mylist(), нужный_узел_списка)
счет идет с нуля
http://www.purebasic.com/documentati...ist/index.html

Platon 07.01.2008 11:43

Ответ: Мнгновенный доступ к элементу списка в Пурике - как?
 
"SelectElement" не дает возможности мгновенного доступа к списку, он перебирает список пока не найдет элемент с нужным индексом
Используй "ChangeCurrentElement" передавая адрес нужного элемента, или используй динамический массив "Dim" ссылок в качестве списка.

dimanche13 07.01.2008 12:06

Re: Ответ: Мнгновенный доступ к элементу списка в Пурике - как?
 
Цитата:

Сообщение от Cyan (Сообщение 73129)
используй динамический массив "Dim" ссылок в качестве списка.

а поподробней...

Chrono Syndrome 07.01.2008 12:16

Ответ: Мнгновенный доступ к элементу списка в Пурике - как?
 
Цитата:

а поподробней...
Все-таки рано ты меня выгнать захотел):

Код:

; Начальная инициализация:
NewList Your_List()
Dim *Pointers(0)
; Заполнение списка данными[
; ]заполнение списка данными.
ReDim *Pointers(CountList(Your_List()))
ForEach Your_List()
*Pointers(ListIndex(Your_List())) = @Your_List()
Next
; Теперь, когда нужен переход по индексу:
ChangeCurrentElement(Your_List(), *Pointers(Index))


dimanche13 07.01.2008 12:30

Re: Мнгновенный доступ к элементу списка в Пурике - как?
 
НО-НО! :stop: я никого не хотел выгонять и нет у меня таких прав, а если б были , то Я нашел бы кого выгнать, с четким предлогом и без всяких оправданий и объяснений. )))

Platon 07.01.2008 15:49

Ответ: Мнгновенный доступ к элементу списка в Пурике - как?
 
Chrono Syndrome
Можно и так, но я имел ввиду использовать массив вместо списка, если нужен быстрый доступ по индексу.

dimanche13 07.01.2008 22:42

Re: Мнгновенный доступ к элементу списка в Пурике - как?
 
Вообще по С я привык, что размер массива, четко задается в начале программы константным значением. Если в Пурике массив динамический, что видимо так, то вполне вероятно доступ по индексу массива быстрее, чем доступ через двусвязный список.

Chrono Syndrome 08.01.2008 15:19

Ответ: Мнгновенный доступ к элементу списка в Пурике - как?
 
Цитата:

Если в Пурике массив динамический, что видимо так
Угу, кроме тех, что в структурах.

Черный крыс 08.01.2008 20:18

Ответ: Мнгновенный доступ к элементу списка в Пурике - как?
 
Пасибо чуваки, разобралсо, вроде...=)
Насчет высказывания Платона про SelectElement() - я так подозреваю, что блицевский Object() - работает аналогичным методом, ибо один и тот же код на пурике с SelectElement() работает на 20% быстрее, чем на блитце с Object(). Разницу можно переложить на скорость выполнения логики в Пуре.

dimanche13 08.01.2008 20:45

Re: Мнгновенный доступ к элементу списка в Пурике - как?
 
Diablo1909, давай тесты, которые гонял на Пурике и БлицМаксе со списками. Какие версии, хочу сам проверить... А то пожалуй перейду на Пурик раз он такой шустрый. Тут как раз обещали (кое-кто) КМБ по Пурику...


Часовой пояс GMT +4, время: 16:13.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot