说明:
- 队列——先进先出的数据结构。
- 栈——后进先出的数据 结构。
- 栈限定为只能在一端进行插入和删除操作。
- 生活中的例子:我们在吃桶装薯片的时候,要想吃掉最后一片,就必 须把前面的全部吃完。
- 栈的实现 ——只需要一个一维数组和一个指向栈顶的变量 top 就可以了。
- 我们通过 top 来对栈 进行插入和删除操作。
栈的应用(回文数):
- 首先我们需要读取这行字符串,并求出这个字符串的长度。
char a[101]; int len; gets(a); len=strlen(a);
- 如果一个字符串是回文的话,那么它必须是中间对称的,我们需要求中点,
即
mid=len/2-1;
完整代码:
#include <stdio.h> #include <string.h>//数组长度的头文件 int main() { char a[101], s[101]; int i, j, mid, top,len; gets(a);//读入一行字符串 len = strlen(a);//求字符串的长度 mid = len / 2 - 1;//求字符串的中点 top = 0;//初始化栈顶 //初始化栈 for (i