LibiadaCore.Core.Chain.FillCongenericChains C# (CSharp) Method

FillCongenericChains() private method

Fills all congeneric chains of this chain. All congeneric sequences stored in congenericChains field.
private FillCongenericChains ( ) : void
return void
        private void FillCongenericChains()
        {
            var occurrences = new List<int>[alphabet.Cardinality - 1];

            for (int i = 0; i < alphabet.Cardinality - 1; i++)
            {
                occurrences[i] = new List<int>();
            }

            for (int j = 0; j < building.Length; j++)
            {
                if (building[j] != 0)
                {
                    occurrences[building[j] - 1].Add(j);
                }
            }

            congenericChains = new CongenericChain[alphabet.Cardinality - 1];
            for (int k = 0; k < alphabet.Cardinality - 1; k++)
            {
                congenericChains[k] = new CongenericChain(occurrences[k], alphabet[k + 1], building.Length);
            }
        }