Exemple #1
0
        //private bool showDisplay = false;
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="input"></param>
        /// <param name="showDisplay"></param>
        public AlgorithmHG(string Input, bool ShowOutput)
        {
            this.Input = Input;
            this.ShowOutput = ShowOutput;

            this.valuesList = new ValuesList(this.Input);
            this.permutations = new List<string>();
        }
Exemple #2
0
        private string RunPermutation()
        {
            endCnt = Utilities.CalculateFactorial(valuesList.Values.Count);
            string result = string.Empty;

            while (valuesList.DisplayCtr < endCnt)
            {
                valuesList.Display(this.ShowOutput);
                this.permutations.Add(valuesList.GetLastDisplay());

                valuesList.SetNextOperation();
                valuesList = PerformListOperation(valuesList);
            }

            result = valuesList.GetLastDisplay();

            return result;
        }
Exemple #3
0
        private ValuesList PerformListOperation(ValuesList valuesList)
        {
            if (!valuesList.ProcessingDone && valuesList.Operation == 1)
            {
                valuesList.Values = HandleSimpleSwap(valuesList.Values);
            }
            else if (!valuesList.ProcessingDone)
            {
                valuesList.Values = this.IncrementPosition(valuesList.Values, valuesList.Operation + 1);
            }

            return valuesList;
        }