Esempio n. 1
0
        /// <summary>
        /// Append another stack to the top of this stack
        /// The rhs will be reversed and pushed onto 'this' stack.  That will
        /// maintain the order of the items in the resulting stack.  So the top
        /// of 'rhs' will be the top of the newly created stack.  'this' stack
        /// will be under the 'rhs' stack.
        /// </summary>
        /// <param name="rhs">Stack to append</param>
        /// <returns>Appended stacks</returns>
        public Stck <T> Append(Stck <T> rhs)
        {
            var self = this;

            foreach (var item in rhs.Rev())
            {
                self = self.Push(item);
            }
            return(self);
        }