Добрый день!
Такое дело, есть некая последовательность чисел, непостоянной длины. Например, "7,12,33,4,6,15,22"
И есть описывающие последовательность шаблоны. Например:
Chain, Ratio, Name
"12,4,17,19,2,9,7,10"; 2; "Serie_1"
"12,3,4,6,15"; 4; "Serie_2"
Мне надо найти шаблон, все числа из которого встречаются в последовательности. В идеале я должен по очереди, начиная с самых длинных шаблонов перебирать вхождения чисел в последовательность. Если совпали вхождения всех чисел, я "запоминаю" этот шаблон, удаляю совпавшие числа из последовательности и ищу следующий шаблон к оставшимся числам.
Шаблонов, порядка 200.
Хранил я их так:
Dim temp(2,200) As String '200 шаблонов, 0-Chain, 1-Ratio, 2-Name
temp(0,0) = "12,4,17,19,2,9,7,10"
temp(1,0) = "2"
temp(2,0) = "Serie_1"
... и так до 200.
Затем, перебирал массив, создавал класс, и пихал в коллекцию.
Появляется новый шаблон, по длине он должен размещаться выше всех, ну или где-то в середине, например. И тут опа, снова переназначать место в массиве с учётом длины? - просто жесть.
И так 600 строк описания массива шаблонов в процедуре зрелище не для слабонервных, так ещё и с сортировкой по длине косяк в случае с массивом, ведь, самые длинные должны быть по убыванию.
Как быть? Как обычно хранят словарь шаблонов? Может в строке, через запятую? А потом сплитить в массив? А, или пихать как пихал, но потом забабахать сортировку массива? Посоветуйте что-нибудь пожалуйста.