zoukankan      html  css  js  c++  java
  • 堆栈链表储存

    //堆栈,链表实现
    #include<iostream>
    using namespace std;
    class stack
    {
    public:
    int data;
    stack*next;
    };
    stack*Linkstack()
    {
    stack*s = new stack;
    s->next = NULL; //生成一个头结点,但不表示任何数
    return s;
    }
    int pop(stack*head); //出栈
    void push(stack*head,int x);//进栈
    int main()
    {
    stack *head=NULL;
    head = Linkstack();
    int i,m;
    for (i = 0; i < 10; i++){
    cin >> m; //十个数进堆栈
    push(head, m);
    }
    for (i = 0; i < 10;i++)
    cout<<pop(head)<<" "; //倒序出堆栈
    cout << endl;
    return 0;
    }
    void push(stack*head,int x)
    {
    stack*ptrl = new stack;
    ptrl->data = x;
    ptrl->next = head->next;
    head->next = ptrl; //依然把head作为头结点
    }
    int pop(stack*head)
    {
    if (head->next==NULL){
    cout << "栈已空"<<endl;
    return 0;
    }
    int l = head->next->data; //保存要出栈的值
    stack *p = head->next;
    head->next=p->next;
    delete p; //删除以出栈的结点
    return l;
    }

  • 相关阅读:
    Linux内存初始化
    linux PCI设备初始化过程
    Linux网络地址转换分析
    Linux内核中流量控制
    IPSEC实现
    ip_conntrack 实现
    module_init宏解析
    IP隧道基础研究
    IPV6介绍
    Golang的接口
  • 原文地址:https://www.cnblogs.com/td15980891505/p/4405026.html
Copyright © 2011-2022 走看看