第八章十一题修改后(用栈实现)POWERBY KTL

原创 2006年05月26日 15:41:00

#include "stdio.h"
#include "stdlib.h"
#include "string.h"

typedef char datatype;

typedef struct node
{
 datatype data;
 struct node * pNext;
}linklist;

void PUSHL(linklist **S,datatype e)
{
 linklist *p;
 p=(linklist*)malloc(sizeof(linklist));
 p->data=e;
 p->pNext=*S;
 *S=p;
}//入栈
datatype POPL(linklist **S)
{
 datatype X;
 if((*S)==NULL)
 {
  printf("栈溢出/n");
  return -1;
 }
 else
 {
  X=(*S)->data;
  (*S)=(*S)->pNext;
  return(X);
 }
}//出栈

bool MYFUNC(datatype *str)
{
 linklist*q;
 int n,i,j;
 datatype ch;
 i=0;
 n=strlen(str);
 q=(linklist*)malloc(sizeof(linklist));
 while(i<(n/2))//i是为了记数,让一半的字符入栈;
 {
  PUSHL(&q,str[i]);
  i++;
 }
 i++;//使i指向未入栈的字符;
 j=n/2;//j的功能是控制后面的字符;
 while(i<n)
 {
  ch=str[n-j];
  if(ch!=POPL(&q))//调用的时候用了**;
   return false;
  j--;
  i++;
 }
 return true;
}//关键函数判断是否对称

int main()
{
 datatype str[100];
 printf("请输入字符串:");
 scanf("%s",str);
 if(MYFUNC(str)){
  printf("是对称字符串。。。/n");
  return 1;
 }
 else{
  printf("不是对称字符串。。。/n");
  return 0;
 }
 return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

如何实现摄像全屏以及修改后的影响

摄像时候,不能全屏,上下或者左右有黑边。 发生此现象的原因: 预览大小是由设置的preview size决定的,摄像时的preview size必须跟video size同比例,否则预览或者录制出...

gridview 实现排序 (在不是使用sqlDataSource控件,而在后台编码绑定gridview时,指定那个字段排序时使用。本例用了单层结构,可修改后应用于多层)

GridView控件提供了用于实现排序功能的接口,通过设置相关属性并实现排序事件的处理程序就可以完成排序功能。我们将在【例8-4】提供的界面的基础上实现排序功能。 【例8-5】演示为GridView...

华为软件训练营培训前自测题(黑色为网上看到版本,蓝色为自己写的,红色为修改后的版本)

题目概述 输入一个长度为N(字符串长度不定)的字符串,字符均为英文字符 请完成如下功能: 1)根据输入的字符串,产生n个字符子串 字符子串生成规则:分隔符是空格,字符子串的排列顺序...

java读取图像的rpg以及灰度值,可以对rgb进行修改后输出新图像

java读取图像的rpg以及灰度值,可以对rgb进行修改后输出新图像/** *java读取图像的rpg以及灰度值,可以对rgb进行修改后输出新图像 */ File file = new...

Adam学习24之MarkDuplicatesSuite修改后有问题

sparkTest("test score") { val poorClippedReads = for (i <- 0 until 5) yield { createMapped...

手工编写servlet_MS-DOS编译servlet_Servlet修改后自动载入

(1)手工编写servlet (2)MS-DOS编译servlet (3)Servlet修改后自动载入

MySQL中ib_logfile和ibdata1参数大小被修改后

1. 环境说明 RHEL 6.4 x86_64 + MySQL 5.5.37和MySQL 5.6.19 2. 案例:redo log文件(ib_logfile)大小参数被修改:innodb_log_...

eclipse中项目名称修改后部署到tomcat中应用名称仍然是旧的问题解决

使用eclipse进行项目开发,有的时候需要修改项目的名称,可是在eclipse中部署到tomcat中访问的时候仍然只能使用旧的项目名称进行访问。 今天遇到了这个问题,下面和大家一起分享一下解决办法。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)