题解 | #牛牛的单向链表#

牛牛的单向链表

https://www.nowcoder.com/practice/95559da7e19c4241b6fa52d997a008c4

#include <iostream>
using namespace std;
class Node{//创建节点
public:
    int data;
    Node* next;//创建指向下一个节点的指针
    Node(int val){
        data=val;
        next=nullptr;//初始化指针为空
    }
};
class Linkedlist{
    public:
    //创建头节点初始化为空
    Node* head;
    Linkedlist(){
        head=nullptr;
    }
  //尾插法
    void append(int val){
        Node* newnode=new Node(val);
        //如果头节点为空,设置新节点为头节点
        if(head==nullptr){
            head=newnode;
            return;
        }
        Node* temp=head;//把头节点赋给temp
        //遍历找到最后节点
        while(temp->next!=nullptr){
            //把后一个的指向赋给temp
            temp=temp->next;
        }
        //把新节点链接到末尾
        temp->next=newnode;

    }
    //打印链表
    void printlist(){
        Node* temp=head;
        //遍历链表
        while(temp->next!=nullptr){
            cout<<temp->data<<" ";
            //节点向后走
            temp=temp->next;
        }
    }
    //用户输入数据
    void input(){
        int n,m;//前者为输入的数量,后者为输入的数
        cin>>n;
        for(int i=n;i>=0;i--){
            cin>>m;
            append(m);//调用尾插函数
        }

    }
};

int main() {
    
    Linkedlist list;//创建链表对象
    list.input();//用户输入
    list.printlist();//打印链表
    return 0;
}

全部评论

相关推荐

06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务