顺序栈的定义、初始化、出栈、入栈等操作 C++代码实现 ——感想
2011-12-20 11:44
573 查看
原文地址:http://www.cnblogs.com/hackerain/archive/2010/10/11/2130450.html
#include <iostream>
using namespace std;
/*顺序栈的定义*/
#define Stack_Size 100
typedef struct sqStack
{
char *elem;
int top;
int stackSize;//栈数组长度
}sqStack;
/*顺序栈的初始化*/
void initStack_Sq(sqStack &S)
{
S.elem=new char[Stack_Size];
S.top=-1;
S.stackSize=Stack_Size;
}
/*建立顺序栈*/
void creatStack_Sq(sqStack &S,int n)
{
initStack_Sq(S);//在这里忘了初始化栈,导致编译的时候出现错误。
for(int i=0;i<n;i++)
{
cin>>S.elem[i];
S.top++;
}
}
/*销毁顺序栈*/
void destroyStack_Sq(sqStack S)
{
delete []S.elem;
S.top=-1;
S.stackSize=0;
}
/*入栈*/
void push(sqStack &S,char x)
{
if(S.top==Stack_Size-1)
cout<<"Stack Overflow!";
S.elem[++S.top]=x;
}
/*出栈*/
char pop(sqStack &S)
{
char x;
if(S.top==-1)
cout<<"Stack Empty!";
x=S.elem[S.top--];
return x;
}
void main()
{
sqStack S;
creatStack_Sq(S,5);
push(S,'a');
cout<<pop(S)<<endl;
destroyStack_Sq(S);
}
感想:这是无意中在网上看到的一个计算机初学者总结的顺序栈的操作,感触很深。想当年我大一的时候,甚至连计算机究竟是个什么东西还很懵懂,更不用提有开始积累的心思了。浑浑噩噩的上课,完成理工科的基础学科的作业,拿到好成绩,获得奖学金——以为这就是一个优秀的计算机专科的学生。一直到现在,大四,浪费了3年无意义的时间,在尝试研究生保外的时候,还记得北邮的笔试,真的是什么都不会,我知道很基础的,但就是无法写出来。真的是,最对不起的就是自己了。如果我能在大一就知道计算机就是COding,就要积累,也许现在我也不用这么菜鸟了吧。
但是人生没有如果,只有后果和结果。亡羊补牢,为是不晚,我要从现在开始积累,还有3年的研究生,不能再浪费了,要建立自己的专业竞争力,即使毕业的时候不是大牛一只,我也要成为健壮的一只牛牛!
#include <iostream>
using namespace std;
/*顺序栈的定义*/
#define Stack_Size 100
typedef struct sqStack
{
char *elem;
int top;
int stackSize;//栈数组长度
}sqStack;
/*顺序栈的初始化*/
void initStack_Sq(sqStack &S)
{
S.elem=new char[Stack_Size];
S.top=-1;
S.stackSize=Stack_Size;
}
/*建立顺序栈*/
void creatStack_Sq(sqStack &S,int n)
{
initStack_Sq(S);//在这里忘了初始化栈,导致编译的时候出现错误。
for(int i=0;i<n;i++)
{
cin>>S.elem[i];
S.top++;
}
}
/*销毁顺序栈*/
void destroyStack_Sq(sqStack S)
{
delete []S.elem;
S.top=-1;
S.stackSize=0;
}
/*入栈*/
void push(sqStack &S,char x)
{
if(S.top==Stack_Size-1)
cout<<"Stack Overflow!";
S.elem[++S.top]=x;
}
/*出栈*/
char pop(sqStack &S)
{
char x;
if(S.top==-1)
cout<<"Stack Empty!";
x=S.elem[S.top--];
return x;
}
void main()
{
sqStack S;
creatStack_Sq(S,5);
push(S,'a');
cout<<pop(S)<<endl;
destroyStack_Sq(S);
}
感想:这是无意中在网上看到的一个计算机初学者总结的顺序栈的操作,感触很深。想当年我大一的时候,甚至连计算机究竟是个什么东西还很懵懂,更不用提有开始积累的心思了。浑浑噩噩的上课,完成理工科的基础学科的作业,拿到好成绩,获得奖学金——以为这就是一个优秀的计算机专科的学生。一直到现在,大四,浪费了3年无意义的时间,在尝试研究生保外的时候,还记得北邮的笔试,真的是什么都不会,我知道很基础的,但就是无法写出来。真的是,最对不起的就是自己了。如果我能在大一就知道计算机就是COding,就要积累,也许现在我也不用这么菜鸟了吧。
但是人生没有如果,只有后果和结果。亡羊补牢,为是不晚,我要从现在开始积累,还有3年的研究生,不能再浪费了,要建立自己的专业竞争力,即使毕业的时候不是大牛一只,我也要成为健壮的一只牛牛!
相关文章推荐
- 顺序栈的定义、初始化、出栈、入栈等操作 C++代码实现
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 【数据结构之旅】顺序栈的定义、初始化、空栈判断、入栈、出栈操作
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 采用顺序存储实现栈的初始化、入栈、出栈操作。
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- c++ 实现顺序栈类(初始化,入栈,退栈。读栈顶元素以及顺序输出栈顶指针与栈中的元素<<计算机软件技术基础 徐士良>>
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 顺序栈的相关操作(初始化、入栈、出栈)
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果