栈和队列练习题

2023-05-16

1( 20分 )
​回文序列是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符串是否为回文序列。

int IsHuiwen( char *t)
{//判断t字符向量是否为回文,若是,返回1,否则返回0   
 SeqStack s; 
 int  i , len; 
 char temp;  
 len=strlen(t); //求向量长度 
 for ( i=0; i<len; i++)//将一半字符入栈
   Push( &s, t[i]); 
 for ( j=0; j<len; j++)//  
 {// 每弹出一个字符与相应字符比较  
    temp=Pop (&s);  
    if( temp!=t[j]) 
      return 0 ;// 不等则返回0  
 } 
 return 1 ; // 比较完毕均相等则返回 1
}

2( 30分 )
‍假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点,试编写相应的初始化、入队以及出队算法。

typedef struct Node
{
    char data;
    struct Node  *next;
} QNode;                            /*结点类型*/ 
typedef struct
{
     QNode  *rear;
} LinkQueue;                         /*队列类型*/

/*初始化队列*/
int initQueue(LinkQueue *Q)
{
      Q->rear=(QNode *)malloc(sizeof(QNode));
      if(Q->rear==NULL)          return 0;
      Q->rear->next=Q->rear;
      return 1;
}

/*入队*/
int EnQueue(LinkQueue *Q, char e)
{
      QNode *p,*head;
      p=(QNode *)malloc(sizeof(QNode));
      if(p==NULL)  return 0;
      head=Q->rear->next;                   
      p->data=e;
      p->next=head;                             
      Q->rear->next=p;                         
      Q->rear=p;                                  
      return 1;
}

/*出队*/
int DeQueue(LinkQueue *Q, char *e)
{    QNode * temp;
     if(Q->rear->next==Q->rear)       
                 return 0;
     else
    {    head=Q->rear->next; 
         temp=head->next;
        *e=temp->data;
         if(head->next==Q->rear)
               head->next= head;
         else  head->next=temp->next;
         free(temp); 
         return 1;
     }
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

栈和队列练习题 的相关文章

随机推荐

  • 智能机器人软件工程师学习路线

    0 引言 很多朋友对机器人软件开发和人工智能感兴趣 xff0c 不知道怎么学习 xff0c 传智播客武汉校区在今年3月份开设了一期智能机器人软件开发工程师就业班 xff0c 在这里我把就业班的学习曲线给大家介绍一下 0基础小白也能学会的人工
  • 2021-09-29 java命名规范、常量、变量简记

    文章目录 前言一 标识符 关键字 命名规则二 常量 变量 1 常量简介2 变量简介总结 前言 在刚入门java时 xff0c 应该养成代码规范书写的好习惯 xff0c 不应该随意命名 xff0c 符合统一的命名规则 xff0c 也会使别人在
  • Spring 学习笔记(十)渲染 Web 视图 (Apache Tilesa 和 Thymeleaf)

    使用Apache Tiles视图定义布局 为了在Spring中使用Tiles xff0c 需要配置几个bean 我们需要一个TilesConfigurer bean xff0c 它会负责定位和加载Tile定义并协调生成Tiles 除此之外
  • 2021-10-13 关于参数校验及@Valid和@RequestBody注解的组合使用

    一 前言 xff1a 学会并熟悉注解的使用 xff0c 在开发过程中 xff0c 是可以提高效率和简化工作复杂程度的 xff0c 也是会逐渐称为主要编码方式之一 二 1 64 RequestBody注解 xff1a 该注解在处理控制层的请求
  • vue之VueCli4的安装及使用

    一 前言 Vue CLI 是一个基于 Vue js 进行快速开发的完整系统 xff0c 提供 xff1a 通过 64 vue cli 实现的交互式的项目脚手架 通过 64 vue cli 43 64 vue cli service glob
  • 浅谈Mysql数据库

    一 为什么要使用数据库 xff1f 使用一个东西 xff0c 就要清楚它的功能价值 xff0c 才能更好的利用它 xff0c 使我们在工作生活中游刃有余 关于数据库的使用 xff0c 好多人会说 xff0c 一个数据库就是好多张表 xff0
  • java自定义一个数组类(封装多种方法)

    一 自定义数组类的动机 java给定的数组为静态的 xff0c 我们是无法对齐进行灵活的操作 xff0c 比如指定位置添加元素 xff0c 删除元素 xff0c 判断是否非空等 xff0c 于是我们便需要利用 面向对象 的设计模式 xff0
  • 关于JVM(基本常识)

    目录 一 JVM是什么 1 概述 二 为什么要用JVM 1 java程序的执行流程 2 JVM的架构 一 JVM是什么 1 概述 关于JVM xff0c 在百度上的解释为 xff1a JVM是Java Virtual Machine xff
  • JVM之几种常见的JIT优化

    目录 一 公共子表达式消除 xff08 经典的JIT优化技术 xff09 二 方法内联 三 逃逸分析 四 三种逃逸分析优化方式 1 对象的栈上内存分配 2 标量替换 3 同步锁消除 一 公共子表达式消除 xff08 经典的JIT优化技术 x
  • 示例数据库Sakila-db安装(Linux版)

    目录 一 关于Sakila示例数据库 二 安装步骤 三 主要相关命令 一 关于Sakila示例数据库 sakila数据库是国内外对于MySQL研究时广泛使用的一个示例数据库 xff0c 包含了较为大量的数据和使用了合理的数据库结构设计 xf
  • 关于Mysql版本升级迁移数据库时报Error Code: 3554 - Access to system table ‘mysql.innodb_index_stats‘ is rejected错误

    目录 一 背景 二 经过 三 解决 四 总结 一 背景 今天在学习Redis时 xff0c 想到这么一个应用场景 xff1a 如果我们将经常查询的数据先存到Redis中 xff0c 然后每当我们要从数据库查询数据时 xff0c 先查询Red
  • Java自定义实现单链表

    目录 一 自定义java单链表原理概述 二 自定义java单链表功能实现细节 三 实现代码 一 自定义java单链表原理概述 1 单链表概念 单链表是一种链式存取的数据结构 xff0c 用一组地址任意的存储单元存放线性表中的数据元素 链表中
  • 树莓派上使用VSCode配置pyqt环境

    树莓派上在VSCode配置pyqt环境 第一次写博客 xff0c 这两天在树莓派上通过pyqt开发嵌入式软件 xff0c 本人一开始想用在windows上常用的pycharm配置pyqt xff0c 但是发现pycharm安装需要的java
  • postgres 错误duplicate key value violates unique constraint 解决方案

    SELECT setval 39 tablename id seq 39 SELECT MAX id FROM tablename 43 1 主要是 xff1a serial key其实是由sequence实现的 xff0c 当你手动给se
  • React 的生命周期

    挂载 当组件实例被创建并插入 DOM 中时 xff0c 其生命周期调用顺序如下 xff1a constructor 在 React 组件挂载之前 xff0c 会调用它的构造函数 getDerivedStateFromProps 在调用 re
  • Python去掉txt重复行

    coding utf 8 34 34 34 作者 xff1a sunli 日期 xff1a 2022年01月05日 34 34 34 coding utf 8 readDir 61 34 D1 txt 34 writeDir 61 34 D
  • 软件开发的四种模型

    1 gt 瀑布模型 xff1a xff08 1 瀑布模型的特点 xff1a 是线性模型的一种 xff0c 每一个阶段只执行一次 xff1b 这种模型是靠文档驱动的 xff08 2 瀑布模型的优缺点 优点 xff1a 开发的各个阶段比较清晰
  • IDEA 设置 背景 图片 详细步骤(结尾附高清背景图片)

    先上效果图 xff0c 原图在结尾 第一步 xff0c 找到搜索界面 xff0c 在搜索界面搜索 Set Background Image 之后 xff0c 找到想设置的图片的存储路径 接下来设置不透明度Opacity xff0c 越向右
  • Ubuntu 18.04下创建新用户/目录、修改用户权限及删除用户的方法

    Ubuntu 18 04下创建新用户 目录 修改用户权限及删除用户的方法 以下介绍在Ubuntu 18 04系统下创建新用户 目录 修改用户权限及删除用户的正确方法 在Ubuntu系统上创建新用户使用 sudo useradd 用户名 命令
  • 栈和队列练习题

    1 20分 回文序列是指正读反读均相同的字符序列 xff0c 如 abba 和 abdba 均是回文 xff0c 但 good 不是回文 试写一个算法判定给定的字符串是否为回文序列 span class token keyword int