仅显示链接列表的最后一个元素

尼希尔·阿南德

我一直试图在c ++中创建一个链表。但是,仅显示链接列表的最后一个元素。我已经搜索了错误,但是找不到。我已经实现了从C语言中学到的逻辑。所有节点均正确连接。但是我仍然找不到错误。这种逻辑适用于C语言。请帮忙。

#include<iostream>

using namespace std;

class node{
public:
    int data;
    node *next;
}*head,*newnode,*temp;

node* getnode();
node* create(int);
void display(node*);

int main()
{
    int n;
    head=getnode();
    cout<<"Enter the no of nodes: ";
    cin>>n;
    head=create(n);
    display(head);
    return 0;
}

node *getnode()
{
    head=new node();
    head->next=nullptr;
    return(head);
}

node *create(int n)
{
    head=getnode();
    cout<<"Enter the value of node 1: ";
    cin>>head->data;
    temp=getnode();
    temp=head;
    for(int i=1;i<n;i++)
    {
        newnode=getnode();
        cout<<"Enter the value of node "<<i+1<<": ";
        cin>>newnode->data;
        newnode->next=nullptr;
        temp->next=newnode;
        temp=newnode;
    }
    return(head);
}

void display(node *head)
{
    while(head!=nullptr)
    {
        cout<<"->"<<head->data;
        head=head->next;
    }
}
Sharath Chander P
#include<iostream>

using namespace std;

class node{
public:
    int data;
    node *next;
    node(int x)
    {
        data=x;
        next=nullptr;
    }
}*head,*newnode,*temp;

node* create(int);
void display(node*);

int main()
{
    int n;
    cout<<"Enter the no of nodes: ";
    cin>>n;
    head=create(n);
    display(head);
    return 0;
}

node *create(int n)
{
        
    for(int i=0;i<n;i++)
    {
        int x;
        cout<<"Enter the value of node "<<i+1<<": ";
        cin>>x;
        newnode=new node(x);
        if(i==0)
        {
            head=temp=newnode;
        }
        else
        {
            temp->next=newnode;
            temp=newnode;
        }
        
    }
    return(head);
}

void display(node *head)
{
    while(head!=nullptr)
    {
        cout<<"->"<<head->data;
        head=head->next;
    }
}

Ive刚刚创建了一个用于创建新节点的构造函数,并使用了临时指针来跟踪列表中最后插入的元素。请记住,始终最好固定头部指针,并使用另一个指针进行遍历。您的代码的问题是,您的头指针始终指向最后插入的元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

仅显示最后一个元素

C-链接列表-插入元素未更新-仅添加最后一个输入元素

仅转换Scala列表的最后一个元素

Android列表仅包含最后一个元素

Android:MySQL的ListView仅显示最后一个元素

仅显示列表中的最后一个数组

对链接列表的第一个和最后一个元素的困惑

嵌套Lambda的Python列表仅执行Lambda列表的最后一个元素

删除列表的最后一个元素

获取列表的最后一个元素

更新列表的最后一个元素

Python遍历两个列表仅遍历最后一个元素

NgFor显示最后一个元素

当与循环一起使用时,Ansible列表concat仅包含最后一个元素

嵌套v-for仅显示Vue中第一个元素的最后一个子元素

如何创建仅最后一个元素不同的字符串列表

能够仅访问Python Unicode字典中列表的最后一个元素

列表数据模型仅读取最后一个元素

Node.js - 仅显示 JSON 响应中的最后一个元素

Listview在整个过程中仅显示最后一个元素

2D数组仅显示Text函数中的最后一个元素

AngularJS仅显示JSON数据中的最后一个元素

为什么此代码仅显示数组中的最后一个元素?

ListView仅显示整个行中的最后一个元素

循环仅显示最后一个数组元素ActionScript3

Firebase 数据库中仅显示最后一个元素

打印链接列表时,最后一个元素值出现在第一个和最后一个位置

链接列表:查询存储在SQL表中的链表的第一个和最后一个元素

我的循环链接列表未显示最后一个节点