zoukankan      html  css  js  c++  java
  • 用栈处理回文

    用栈来验证回文字符串(参考书籍,用于日后复习)

    /*
    栈是一种后进先出的数据结构
    栈限定为只能在一端进行插入和删除操作
    栈的实现需要一个一维数组和一个指向栈顶的变量top
    我们通过top来对栈进行插入和删除操作 
    */
    #include<iostream>
    #include<cstring>
    using namespace std;
    int main()
    {
        char a[101],s[101];
        int i,len,mid,next,top;
        gets(a);//读入一行字符串
        len=strlen(a);//求字符串的长度
        mid=len/2-1;
        top=0;//栈的初始化
        //将mid前的字符依次入栈
        for(i=0;i<=mid;i++)
        s[++top]=a[i];
        //判断字符串的长度是奇数还是偶数,并找出需要进行字符匹配的起始下标
        if(len%2==0)
        next=mid+1;
        else
        next=mid+2;
        //开始匹配
        for(i=next;i<=len-1;i++)
        {
            if(a[i]!=s[top])
            break;
            top--;
         } 
         //如果top的值为0,则说明栈内所有的字符都被一一匹配了
         if(top==0)
         cout<<"YES";
         else
         cout<<"NO"; 
    }
  • 相关阅读:
    php max()函数 语法
    php min()函数 语法
    php mt_rand()函数 语法
    php rand()函数 语法
    php pi()函数 语法
    php trim()函数 语法
    php chop()函数 语法
    php rtrim()函数 语法
    php ltrim()函数 语法
    php is_file()函数 语法
  • 原文地址:https://www.cnblogs.com/hrlsm/p/12838749.html
Copyright © 2011-2022 走看看