
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;
}
怎么输出呢? 展开
#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;
}
怎么输出呢? 展开
5个回答
展开全部
输出如下:
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
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
展开全部
没看到你的调用creat(LNode *L,int n)和print(LNode *L)的主程序,不太清楚你是如何组织这几个函数的。不过可以看出来:
调用creat()和print()的主程序里,定义了一个LNode *类型的变量(假如叫head),传入了creat()。
如果head在主程序里没有分配空间,运气好的话,不会造成程序死机;运气不好就很快就死掉了。
如果head在主程序里分配了空间。你可以注意,在creat()里,并没有对head->data进行赋值。从键盘输入的第一个值,被赋给了head->next->data。如果对head进行过初始化,head->data就是你初始化的值,否则就是一个随机值。
print()是从head的第一个data开始,顺着->next单链,往下遍历。可以看出,第一个输出的就是那个“不知道”的值。
希望你看明白了,有问题继续交流,谢谢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*单向链表的反向输出*/
#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");
}
看看吧...
#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");
}
看看吧...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
#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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
{
qq* p=QQ;
int i=0;
while(p!=NULL)
{
cout<<p.number<<" "<<p.mima<<endl;
p=p.next;
i++;
}
return i;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询