c++链表怎么输出

#include<iostream>#include<string>usingnamespacestd;structqq{intnumber;stringmima;str... #include <iostream>
#include <string>
using namespace std;
struct qq
{
int number;
string mima;
struct qq *next;
};
void main()
{
qq wo,mama,baba,*begin;
wo.number=6933;
wo.mima="60528. ";
mama.number=8352632;
mama.mima="28528";
baba.number=044939;
baba.mima=“4564560";
begin=&wo;
wo.next=&mama;
mama.next=&baba;
baba.next=NULL;
}
怎么输出呢?
展开
 我来答
超人影视娱乐
高粉答主

推荐于2017-10-15 · 闲来无事的影评人-关注我把
超人影视娱乐
采纳数:7753 获赞数:60600

向TA提问 私信TA
展开全部
输出如下:
LinkList::LinkList()
在这个函数中,,建链表的这两句话p->next=Link->next;Link->next=p,用的头插法建链表,意思就是说每次把新的节点p放在链表首部,,所以建好的顺序肯定与输入元素的顺序是相反的.要想按原顺序,,则把上述的这两句改为 :
p->next=r->next;
r->next=p;
r=p;
即可。
在该函数体内,加一个变量声明 LNode *r=Link; 就好了。改制后运行结果如下:How many node do you want:2
1: 1
2: 2
How many node do you want:2
1: 3
2: 4
How many node do you want:2
1: 5
2: 6
The LinkList is 1 2
The LinkList is 3 4 5 6
Press any key to continue
清河大侠
2018-04-04 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:78%
帮助的人:1346万
展开全部

没看到你的调用creat(LNode *L,int n)和print(LNode *L)的主程序,不太清楚你是如何组织这几个函数的。不过可以看出来:

  1. 调用creat()和print()的主程序里,定义了一个LNode *类型的变量(假如叫head),传入了creat()。

  2. 如果head在主程序里没有分配空间,运气好的话,不会造成程序死机;运气不好就很快就死掉了。

  3. 如果head在主程序里分配了空间。你可以注意,在creat()里,并没有对head->data进行赋值。从键盘输入的第一个值,被赋给了head->next->data。如果对head进行过初始化,head->data就是你初始化的值,否则就是一个随机值。

  4. print()是从head的第一个data开始,顺着->next单链,往下遍历。可以看出,第一个输出的就是那个“不知道”的值。

希望你看明白了,有问题继续交流,谢谢。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
072jncgnt
2011-06-11 · TA获得超过2310个赞
知道大有可为答主
回答量:4534
采纳率:0%
帮助的人:1041万
展开全部
/*单向链表的反向输出*/

#include <stdio.h>
#include <malloc.h>

#define MAX_LEN 10

typedef struct _LINKNODE
{
int value;
struct _LINKNODE *next;
}LINKNODE;

/*链表逆置的原理就是前插,把原链表中的元素一个一个的前插到新的链表中*/
LINKNODE* revertLink(LINKNODE* head)
{
LINKNODE* revert = NULL;
LINKNODE* temp = NULL;

while(head != NULL)
{
temp = head->next;
head->next = revert;
revert = head;
head = temp;
}
return revert;
}

void main()
{
int array[MAX_LEN] = ;
LINKNODE* head = NULL;
LINKNODE* curNode = NULL;
LINKNODE* temp = NULL;
LINKNODE* revert = NULL;

for(int i=0; i<MAX_LEN; i++)
{
temp = (LINKNODE*) malloc(sizeof(LINKNODE));
temp->value = array[i];
temp->next = NULL;

if(head == NULL)
{
head = temp;
curNode = temp;
}

curNode->next = temp;
curNode = curNode->next;
}
printf("初始化后的链表是:\n");
curNode = head;
while(curNode != NULL)
{
printf("%d ", curNode->value);
curNode = curNode->next;
}

revert = revertLink(head);

printf("\n逆置后链表是:\n");
while(revert != NULL)
{
printf("%d ", revert->value);
revert = revert->next;
}
printf("\n");
}
看看吧...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乾乾的bu
推荐于2017-09-01 · 超过30用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:92.9万
展开全部
#include <iostream>
#include <string>
using namespace std;
struct qq
{
int number;
string mima;
struct qq *next;
};
void fun(qq *p);
void main()
{
qq wo,mama,baba,*begin;
wo.number=6933;
wo.mima="60528. ";
mama.number=8352632;
mama.mima="28528";
baba.number=44939;
baba.mima="4564560";
begin=&wo;
wo.next=&mama;
mama.next=&baba;
baba.next=NULL;
fun(begin);
}

void fun(qq *p)
{
for(;p!=0;p=p->next) cout<<p->number<<" "<<p->mima<<endl;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彪芯珈深崎租0r
2011-06-10 · TA获得超过630个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:313万
展开全部
int print(qq* QQ )
{
qq* p=QQ;
int i=0;
while(p!=NULL)
{
cout<<p.number<<" "<<p.mima<<endl;
p=p.next;
i++;
}
return i;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式