郁闷,建个单链表3个小时都没建出来,朋友帮忙看看,在线等,一经解决立即结贴

kitcaii 2008-07-28 02:52:05

#ifndef _NODE_
#define _NODE_
struct slnode
{
int data;
slnode* next;
};
#endif


#include "node.h"
#include<iostream>
using namespace std;
// function prototype
slnode* build();
bool print(const slnode* h);

int main()
{
slnode* head;
head = build();
print (head);
}

// 创建单链表
slnode* build()
{
slnode* h = new slnode;
h->next = NULL;
slnode* q = h;
cout << "Enter numbers: \n";
int i = 1;
cout << "number #1" << ": ";
slnode* p = new slnode;
while(p != NULL && cin >> p->data) // 依次在尾部插入节点
{
p->next = NULL;
q->next = p;
q = p;
cout << "number #" << ++i << ": ";
slnode* p = new slnode;
}
return h;
}

bool print(const slnode* h)
{
slnode* p;
p = h->next;
while (p)
{
cout << p->data << ' ';
p = p->next;
cout << "ok";
}
cout << endl;
return 1;
}

...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhp 2008-07-28
  • 打赏
  • 举报
回复
上面写错了。结束条件应该是cin >> data
zjw6861982 2008-07-28
  • 打赏
  • 举报
回复
slnode* build()
{
int data;
slnode* h = new slnode;
slnode* t = h;

int i=1;

t->next = NULL;
cout << "Enter numbers: \n";
cout << "number #1" << ": ";
while(cin>>data)
{
slnode* p= new slnode;
p->data = data;
p->next = NULL;
t->next = p;
t = p;
i++;
cout << "number #" << i << ": ";
}
return h;
}
bool print(const slnode* h)
{
slnode* p;
p = h->next;
while (p)
{
cout << p->data << ' ';
p = p->next;
cout << "ok\n";
}
cout << endl;
return 1;
}
chenzhp 2008-07-28
  • 打赏
  • 举报
回复
// 创建单链表
slnode* build()
{
int data;
slnode* h = (slnode*)malloc(sizeof(slnode));
h->next = NULL;
slnode* q = h;
cout << "Enter numbers: \n";
int i = 1;
cout << "number #1" << ": ";

while(cin >> data!='#') // 依次在尾部插入节点
{
slnode* p = (slnode*)malloc(sizeof(slnode));
p->data = data; //把输入的值赋值给节点
q->next = p;
q = p;
cout << "number #" << ++i << ": ";
}
q->next = NULL;
return h;
}
kitcaii 2008-07-28
  • 打赏
  • 举报
回复
晕,和c给整混了,飞雪很生猛
kitcaii 2008-07-28
  • 打赏
  • 举报
回复
顶起来
baihacker 2008-07-28
  • 打赏
  • 举报
回复
#ifndef _NODE_
#define _NODE_
struct slnode
{
int data;
slnode* next;
slnode(int data_):data(data_),next(0){}
};
#endif



#include<iostream>
using namespace std;
slnode* build();
bool print(slnode* h);

int main()
{
slnode* head;
head = build();
print (head);
}

// 创建单链表
slnode* build()
{
int data;
slnode* h = new slnode(0);
slnode* q = h;
cout << "Enter numbers: \n";
int i = 1;
cout << "number #1" << ": ";
while(cin >> data) // 依次在尾部插入节点
{
slnode* p = new slnode(data);
q->next = p;
q = q->next;
cout << "number #" << ++i << ": ";
}
return h;
}

bool print(slnode* h)
{
slnode* p;
p = h->next;
while (p)
{
cout << p->data << ' ';
p = p->next;
cout << "ok";
}
cout << endl;
return 1;
}

I:\>g++ test.cpp

I:\>a
Enter numbers:
number #1: 1
number #2: 2
number #3: 3
number #4: 4
number #5: ^Z
1 ok2 ok3 ok4 ok

I:\>

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧