コード例 #1
0
        /// <summary>
        /// A method of sorting matrix rows by ascending sums of row elements.
        /// </summary>
        /// <param name="matrix">Input array.</param>
        /// <returns>Sorted array.</returns>
        public Matrix SortMatrix(Matrix matrix)
        {
            for (int i = 0; i < matrix.Values.GetLength(0); i++)
            {
                for (int j = 1; j < matrix.Values.GetLength(0); j++)
                {
                    int previousSum = SortHelper.FindSumInRow(matrix.Values, j - 1),
                        currentSum  = SortHelper.FindSumInRow(matrix.Values, j);

                    if (previousSum > currentSum)
                    {
                        SortHelper.SwapCurrentStringWithPrevious(matrix.Values, j);
                    }
                }
            }

            return(matrix);
        }
コード例 #2
0
        /// <summary>
        /// A method of sorting matrix rows by descending sums of row elements.
        /// </summary>
        /// <param name="array">Input array.</param>
        /// <returns>Sorted array.</returns>
        public int[,] SortArray(int[,] array)
        {
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 1; j < array.GetLength(0); j++)
                {
                    int previousSum = SortHelper.FindSumInRow(array, j - 1),
                        currentSum  = SortHelper.FindSumInRow(array, j);

                    if (previousSum < currentSum)
                    {
                        SortHelper.SwapCurrentStringWithPrevious(array, j);
                    }
                }
            }

            return(array);
        }