C# 自定義堆疊進行迴文檢測的程式碼
阿新 • • 發佈:2018-12-04
在研發之餘,將做工程過程中比較重要的一些內容備份一下,如下的內容內容是關於C# 自定義堆疊進行迴文檢測的內容,希望對各朋友也有用。
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]; } }
}