自定义堆栈(回文检测)
来源:互联网 发布: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]; } }}