LA和LB归并的问题

[复制链接]
查看11 | 回复1 | 2009-3-30 14:36:35 | 显示全部楼层 |阅读模式
这是程序#include
#include
//节点结构
struct LinkList
{
int data;
struct LinkList * next;
};
void main()
{
int a[4]={3,5,8,11};
int b[6]={2,6,8,11,15,20};
LinkList *pa=NULL;
LinkList *pb=NULL;
LinkList *pc=NULL;
LinkList *la=NULL;//la,lb,lc保存链表首地址
LinkList *lb=NULL;
LinkList *lc=NULL;
// 初始化单链表
for(int i=4;i>=0;i--)
{
pa=(LinkList *) malloc(sizeof(struct LinkList));
pa->data=a;
pa->next=la;
la=pa;
}
for(int j=6;j>=0;j--)
{
pb=(LinkList *) malloc(sizeof(struct LinkList));
pb->data=b[j];
pb->next = lb;
lb=pb;
}
lc=pc=(LinkList *) malloc(sizeof(struct LinkList));//LC指向单链表的头节点
//递增排序
while(pa && pb)
{
if( (pa->data) data) )
{
pc->next=pa;
pc=pc->next;
pa=pa->next;
}
else
{
pc->next=pb;
pc=pc->next;
pb=pb->next;
}
}
if(pa)
{
pc->next=pa;
}
if(pb)
{
pc->next=pb;
}
pc=lc->next;

while(pc)
{
printf("%d\t",*pc); //此处我可不可以用c++的输出语句?
pc=pc->next;
}
printf("\n");
}
我期望是2,3,5,6,8,8,9,11,11,15,20这个输出,但不对,另一个要问的就是语句中提到的问题

回复

使用道具 举报

千问 | 2009-3-30 14:36:35 | 显示全部楼层
修改如下://---------------------------------------------------------------------------#include #include typedef struct LinkList{int data;struct LinkList * next;} LinkList;void main(){int a[4]={3,5,8,11};int b[6]={2,6,8,11,15,20};int i,j;LinkList *pa=NULL;LinkList *pb...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行