nikolz (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 76 77 78 79 80 81 82 83 84 85 86
Очередь+Массив, Объединение свойств очереди и массива.
 
Владимир,
Я вот немного ваши программы переписал в таком виде:
--------------------------------------------
local function _new(q_size)
return { first = 1, last =0, max_size = q_size }
end

local function _delq(q)
local m=q.first
local x = q[m]
q[m] = nil
q.first = m + 1
return x
end

local function _push( q, value )
q.last = q.last + 1
q[q.last] = value
if q.last >q.max_size then return _delq(q) end
end

local function _pop( q)
if q.last>=q.first then return _delq(q); end
end

local function _get(q,pos)
local x=q.first+pos
if q.last>=x then  return q[x] end
end
-- если очередь пустая  то get(q,0)=nil
Создание "вечного робота"., Переподключение QUIK и Lua-скрипта на следующий день.
 
пардон,
давно не пользуюсь этой функцией,
поэтому забыл про данный ляп в QLUA.
Очередь+Массив, Объединение свойств очереди и массива.
 
Добрый день,Владимир,
1) Из своего опыта замечу,
что самый эффективный алгоритм и его реализацию подобного класса задач
можно сделать с использованием
операций над битами и языка уровня СИ.
Очередь+Массив, Объединение свойств очереди и массива.
 
Добрый день,
А такой вариант устроит ?

----    создать новый массив, максимальная длина N
new=function(N) local t={}; t.len=N; return t; end  

----     вытолкнуть первый элемент
pop=function(t) if #t>0 then return table.remove(t,1); end end  

----     поставить в очередь , если очередь >N -вытолкнуть первый
push=function(t,x) t[#t+1]=x; if #t>t.len then return table.remove(t,1) end; end


--------------- доступ к любому элементу как к элементу таблицы квадратными скобками
Создание "вечного робота"., Переподключение QUIK и Lua-скрипта на следующий день.
 
Добрый день,
1) tt1[0]
В Lua принято индексы таблицы начинать с 1. иначе неправильно работает # (размер массива).  

2) попробуйте так:
if ( t~=nil and  tt1~=nil  and  #t>0  and   (my_position==0) and (ind==0) and (t[1].close > tt1[0].close)) then  
Страницы: Пред. 1 ... 76 77 78 79 80 81 82 83 84 85 86
Наверх