Показать сообщение отдельно
Старый 23.04.2011, 00:26   #7
Черный крыс
 
Сообщений: n/a
Ответ: Послдений не Null в списке

Для особо одаренных...

 
Global mass%[] = New Int[4]
Const NULL_ITEM% = -1 ' обьявляем *Null* переменную
 
MemCopy(mass, [1,2,3,4], 4*4) ' инициализируем
 
' 1) Удаляем 3-й элемент : 
mass[2] = NULL_ITEM
 
' 2) Адекватный перебор с учетом удаленного
For Local i% = 0 Until mass.Length
    If mass[i] = NULL_ITEM Then Continue
    ....
Next
PS Стандартный TList - оцтой тот еще. Ты глянь на исходник его... он как мамонт жрет память и проц. Листы вообще придуманы ламерами и для ламеров - это жуткое зло - лист плодит кучу однотипных ссылок которые к тому же пересекаются и снаружи никак нельзя проконтролировать их, что чревато утечками памяти и тому подобными весельями, так как БМакс не умеет такие ссылки обрабатывать. Серия Quake 1-3 полностью реализована на массивах (насчет 4-й незнаю, но скорее всего тоже). в Unreal тоже не увидишь ни одного листа (их тама просто нет). В 99.9% листы ненужны вообще, возможностей массивов хватает слихвой и везде ( в крайнем случае можно эмитировать список односторонним указателем).
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо за это полезное сообщение:
NitE (23.04.2011), Randomize (06.05.2011)