zoukankan      html  css  js  c++  java
  • C++链栈基本操作

     1 #include <iostream>
     2 using namespace std;
     3 
     4 struct Node
     5 {
     6     int data;
     7     Node *next;
     8 };
     9 
    10 /*初始化链栈*/
    11 void InitChainStack(Node *top)
    12 {
    13     top->next=0;
    14 }
    15 
    16 /*往栈里压进数据elem*/
    17 int Push(Node *top, int elem)
    18 {
    19     Node *p=(Node*)malloc(sizeof(Node));
    20     if(p==0)
    21         return false;
    22     p->data=elem;
    23     p->next = top->next;
    24     top->next=p;
    25     return true;
    26 }
    27 
    28 /*出栈,并用x返回出栈值*/
    29 int Pop(Node *top, int &x)
    30 {
    31     Node *temp = top->next;    
    32     if(temp==0)
    33         return false;
    34     top->next = temp->next;
    35     x=temp->data;
    36     free(temp);
    37     return true;
    38 }
    39 
    40 /*返回栈顶数据*/
    41 int GetTop(Node * top, int &x)
    42 {
    43     if(top->next==0)
    44         return false;
    45     x=top->next->data;
    46     return true;
    47 }
    48 
    49 /*判断栈是否为空*/
    50 int IsEmpty(Node * top)
    51 {
    52     if(top->next==0)
    53         return true;
    54     return false;
    55 }
    56 
    57 /*打印栈所有数据元素*/
    58 void PrintStack(Node *top)
    59 {
    60     Node *temp = top->next;
    61     while(temp!=0)
    62     {
    63         cout << temp->data << " ";
    64         temp=temp->next;
    65     }
    66     cout << endl;
    67 }
    68 
    69 void main()
    70 {
    71     Node *node=new Node;
    72     InitChainStack(node);
    73     
    74     for(int i=0;i<10;i++)
    75         Push(node,i);
    76     int x=0;
    77     Pop(node,x);
    78     GetTop(node,x);
    79     cout << x << endl;
    80     cout << IsEmpty(node) << endl;
    81     PrintStack(node);
    82 }
  • 相关阅读:
    JS判断鼠标从什么方向进入一个容器
    [JS进阶] 编写可维护性代码 (1)
    CSS3 animation小动画
    如何使用js捕获css3动画
    webpack入门(译)
    js拖拽3D立方体旋转
    简单3D翻转
    html 基础
    python 并发编程
    python 网络编程
  • 原文地址:https://www.cnblogs.com/xxdfly/p/4381119.html
Copyright © 2011-2022 走看看