#include<malloc.h>
#include<stdlib.h>
#include <stdio.h>
typedef int ElemType;
struct LNode
{
ElemType data;
LNode *next;
};typedef LNode *LinkList;
void CreateList3(LinkList &L,int n)
{
int i;
LinkList p,q;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
q=L;
printf("請輸%d個資料\n",n);
for(i=1;i<=n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
q->next=p;
q=q->next;
}
p->next=NULL;
}
void CreateList2(LinkList &L,int n)
{
int i;
LinkList p,q;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
q=L;
printf("請輸入%d個資料\n",n);
for(i=1;i<=n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
q->next=p;
q=q->next;
}
p->next=NULL;
}
int ListTraverse(LinkList L)
{
LinkList p;
p = L->next;
while(p)
{
printf("%d ",p->data);
p = p->next;
}
printf("\n");
return 1;
}
void UnionList(LinkList *La,LinkList *Lb,LinkList *&Lc)
{
int i=0,j=0,k=0;
Lc=(LinkList *)malloc(sizeof(LinkList));
while(i<La->length&&j<Lb->length)
{
if (La->data[i]<Lb->data[j])
{
Lc->data[k]=La->data[i];
i++,k++;
}
else
{
Lc->data[k]=Lb->data[j];
j++,k++;
}
}
while (i<La->length)
{
Lc->data[k]=La->data[i];
i++,k++;
}
while (j<Lb->length)
{
Lc->data[k]=Lb->data[j];
j++,k++;
}
Lc->length=k;
ListTraverse(Lc);
}
int main()
{
int n=5;
LinkList La;
LinkList Lb;
LinkList Lc;
CreateList2(La,n);
CreateList3(Lb,n);
printf("La=");
ListTraverse(La);
printf("Lb=");
ListTraverse(Lb);
printf("Lc=");
UnionList(La,Lb,Lc);
return 0;
error C2227: “->length”的左邊必須指向類/結構/聯合/泛型型別
1> 型別是“LinkList *”
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/81018.html
標籤:基礎類
上一篇:CBuilder6.0采用NMUDP控制元件寫UDP發送程式,最多只能發送8K的資料,求高手指導
下一篇:迷茫的小白
