注册 登录
编程论坛 C++教室

有关链表问题

qin888 发布于 2010-05-21 14:49, 449 次点击
5、定义结构体指针实现以下链表的创建和输出链表数据的所有数据。(完成空出的语句)
语句我已经填上,可是不对啊,红色字体的语句是我填上的
请大家帮帮忙,我该怎么改呢,为什么要这样改呢


 

#include<iostream>
using namespace std ;
struct intNode
{
   int data;
   intNode *next;
};
int main()
{
    intNode *head,*temp;
    head = NULL;
    int x;
    cout<<"请输入整型数(-1为结束)"<<endl;
    cin>>x;
    while(x != -1)
    {
        temp = new intNode;
        temp ->data = x;
        temp->next = head;
        head = temp;   
           temp=temp->next               ;
                head=temp           ;
    }
    cout<<"输出链表的所有元素值:"<<endl;
    temp = head;
    while(temp!=NULL)
    {
             head=temp             ;
        temp = temp->next;
    }
    //释放链表所有结点的空间
    while(head!=NULL)
    {
        temp = head;
        head = head->next;
        delete temp;
    }
    return 0;
}  
3 回复
#2
最近不在2010-05-21 21:47
程序代码:

#include<iostream>
using namespace std ;
struct intNode
{
   int data;
   intNode *next;
};
int main()
{
    intNode *head,*temp;
    head = NULL;
    int x;
    cout<<"请输入整型数(-1为结束)"<<endl;
    cin>>x;
    while(x != -1)
    {
        temp = new intNode;
        temp ->data = x;
        temp->next = head;
        head = temp;   
           temp=temp->next;  //head = head->next;照题目意思应该让头当前节点指到下一个,而不是临时的。下次再用临时的赋给当前的
                head=temp;        //cin>>x;    //进行输入,必需的
    }
    cout<<"输出链表的所有元素值:"<<endl;
    temp = head;
    while(temp!=NULL)
    {
             head=temp;    //cout<<temp->data<<endl;输出必需的
        temp = temp->next;
    }
    //释放链表所有结点的空间
    while(head!=NULL)
    {
        temp = head;
        head = head->next;
        delete temp;
    }
    return 0;
}
#3
qin8882010-05-21 22:46
谢谢!!!
#4
qin8882010-05-21 22:56
还有一个问题:修改后的程序没有输出结果?
能不能再帮我一下!!!
1