⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huiwen.cpp

📁 文件夹中包括常用的数据结构的算法
💻 CPP
字号:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define StackSize  100   

// 定义栈类型
typedef struct
{   
	char data[StackSize];
    int Top;  
} SeqStack;

void Error(char * message)
{  
	printf("Error: %s\n",message);
};

void InitStack( SeqStack *S) //初始化(置空栈)
{ 
	S->Top=-1;
};

int  EmptyStack(SeqStack *S) //判栈空
{  return  S->Top == -1;  }

int FullStack (SeqStack *S)   // 判栈满
{  return S->Top==StackSize-1; }

void Push (SeqStack *S , char  x) //进栈
{  if(FullStack(S))	 Error("Stack overflow");
    S->data[++S->Top]=x;
}

char Pop(SeqStack *S) // 出栈(退栈)
{  if (EmptyStack( S) )   
           Error( "Stack underflow");
    return S->data[S->Top--];
}

int   IsHuiwen( char *S)
{  
   SeqStack T;
   int i , n;   
   char t1;

   InitStack( &T);
   n=strlen(S);//求字符串长度
   for ( i=0; i<n/2; i++)	 
          Push( &T,  S[i]);   //将一半字符入栈
   i=n/2-1;
   while(i>=0)
   { 
	   t1=Pop (&T); 
       // 每弹出一个字符与相应字符比较
       if( t1!=S[n-i-1]) return 0 ;// 不相等则返回0  
       i--;
   }; 
   return  1 ;	// 比较完毕均相等则返回 1
};
/*
void delKong(char *s)
{//去掉字符串中的空格
    char temp[StackSize];
	int  i, j;
	i=j=0;
	while(s[i] != '\0')
	{
		if(s[i] == 255)
		{ i++;}
		else
		{
			temp[j++] = s[i++];
		};
	};
	temp[j] ='\0';
	strcpy(s, temp);
};
*/

void main( )
{   
	char  Str[100]="";
    printf("输入一个字符串:\n");
    scanf("%s",Str);
	printf("%s\n", Str);
    if( IsHuiwen(Str))
       printf(" \n这个字符串是回文。");
    else printf("\n这个字符串不是回文。");
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -