自定义堆栈(回文检测)

来源:互联网 发布:db数据库修改器汉化版 编辑:程序博客网 时间:2024/05/19 03:44
using System;using System.Collections;namespace CStack{    class Program    {        static void Main(string[] args)        {            CStack alist = new CStack();            string ch;            string word = "上海自来水来自海上";            bool isPalindrome = true;            for (int x = 0; x < word.Length; x++)            {                alist.Push(word.Substring(x,1));            }            int pos = 0;            while (alist.Count > 0)            {                ch = alist.Pop().ToString();                if (ch !=word.Substring(pos,1))                {                    isPalindrome = false;                    break;                }                pos++;            }            Console.WriteLine(isPalindrome);        }    }    public class CStack    {        private int p_index;        private ArrayList list;        public CStack()        {            list = new ArrayList();            p_index = -1;        }        public int Count        {            get { return list.Count; }        }        public void Push(object item)        {            list.Add(item);            p_index++;        }        public object Pop()        {            if (0 > p_index)            {                return null;            }            object obj = list[p_index];            list.RemoveAt(p_index);            p_index--;            return obj;        }         public void Clear()        {            list.Clear();            p_index = -1;        }        public object Peek()        {            if (p_index < 0)            {                return null;            }            return list[p_index];        }    }}

原创粉丝点击