线性表-链栈

来源:互联网 发布:网络销售工作周总结 编辑:程序博客网 时间:2024/06/06 19:19
 #include <iostream> #include <string> #include <vector> #include <algorithm> #define MAXSIZE 100 using namespace std;/*链栈 */typedef struct StackNode{int data;struct StackNode *next;}StackNode,*LinkStack;//初始化,不带头结点 int InitStack(LinkStack &S){S = NULL;return 1; }  //入栈(头插入法) int push(LinkStack &S,int e) { LinkStack p = new StackNode; p->data = e; p->next = S; S = p; return 1;  }   //取栈顶元素  int getTop(LinkStack S)  {  if(S!=NULL)  {  return S->data;  }  else  {  return -1;  }   }    //出栈  int pop(LinkStack &S)  {  if(S==NULL)  {  cout<<"int pop(LinkList &S) err:栈空error"<<endl;   return 0;  }  else  {  LinkStack p = S;  S = S->next;  delete p;  return 1;  }   } int main(){LinkStack stack;InitStack(stack);push(stack,1);push(stack,2);push(stack,3);push(stack,4);push(stack,5);cout<<"getTop:"<<getTop(stack)<<endl; pop(stack);cout<<"getTop:"<<getTop(stack)<<endl; }

0 0
原创粉丝点击