• C++练习 | 创建并倒序输出不带头结点的链表


    #include <iostream>
    #include <cstdio>
    #include <stdlib.h>
    #include <stack>
    using namespace std;
    
    struct list
    {
        int data;
        list *next;
    }list1;
    
    list *initlist(int num)
    {//定义一个新节点
        list *node=(list*)malloc(sizeof(list));
        node->data=num;
        node->next=NULL;
        return node;
    }
    
    void pushback(list **pplist,int num)
    {
        if(*pplist==NULL)
            *pplist=initlist(num);
        else if((*pplist)->next==NULL)
            (*pplist)->next=initlist(num);
        else
        {
            list *tail=*pplist;
            while(tail->next)
            {
                tail=tail->next;//通过依次指向找到next为空的尾结点
            }
            tail->next=initlist(num);//在最后添加一个结点
        }
    }
    
    stack<int> s;
    
    int main(int argc, const char * argv[])
    {
        list *l=NULL;
        int t;
        while(cin>>t)
        {
            pushback(&l, t);
        }
        while(l!=NULL)
        {
            t=l->data;
            s.push(t);
            l=l->next;
        }
        cout<<"NULL<-";
        while(!s.empty())
        {
            cout<<s.top()<<"<-";
            s.pop();
        }
        return 0;
    }

    使用stack存储。

  • 相关阅读:
    Jmeter之断言处理
    JMeter工具简单介绍
    TCP的三次握手和四次挥手
    浅谈cookie、session
    浅谈HTTP中Get与Post的区别
    DNS原理入门
    互联网协议简介
    测试与部署
    部分代码片段
    apache和php扩展问题
  • 原文地址:https://www.cnblogs.com/tsj816523/p/10608988.html
Copyright © 2020-2023  润新知