kris听我讲话 2020-03-04 13:01 采纳率: 100%
浏览 442
已采纳

求线性表LA和LB的并集LC,我这样做为啥子不对哈?初学者在练习这几种数据结构的基本函数。代码在下边儿:

#include<stdlib.h>
#define max 100
typedef int Elemtype;
typedef struct {
    Elemtype data[max];
    int length;
}List;
void InitList(List *&L){
    L=(List*)malloc(sizeof(List));
    L->length=0;
}
int GetElem(List *L,int a,Elemtype &b){
    if(a<1||a>L->length)return 0;
    else b=L->data[a-1];
    return 1;   
}
int ListInsert(List *&L,int a,Elemtype b){
    int j;
    if(a<1||a>L->length)return 0;
    a--;
    for(j=L->length-1;j>=a;j--)L->data[j+1]=L->data[j];
    L->data[a]=b;
    L->length++;
    return 1;
}
int ListLength(List *L){return(L->length);
}
int LocateElem(List *L,Elemtype a){
    int i=0;
    while(i<L->length && L->data[i]!=a)i++;
    if(i>=L->length)return 0;
    else return i+1;
}
void CreateList(List *&L){
    int i,n;
    L=(List*)malloc(sizeof(List));
    printf("please input number:");
    scanf("%d",&n);
    printf("please input shuzu:");
    for(i=0;i<n;i++)scanf("%d",&(L->data[i]));
    L->length=n;
}
void DispList(List *L){
    int j;
    for(j=0;j<L->length;j++)printf("the outcome is:%d ",L->data[j]);
}
void unionList(List *LA,List *LB,List *&LC){
    int i,len;Elemtype e;
    InitList(LC);
    len=ListLength(LA);
    for(i=1;i<=len;i++){
    GetElem(LA,i,e);
    ListInsert(LC,i,e);
    }
    for(i=1;i<=ListLength(LB);i++){
    GetElem(LB,i,e);
    if(!LocateElem(LA,e))ListInsert(LC,++len,e);    }
    LC->length=len;  
}
int main(){
    List *LA,*LB,*LC;

    CreateList(LA);CreateList(LB);
    unionList(LA,LB,LC);
    DispList(LC);

    return 0;   
## }![图片说明](https://img-ask.csdn.net/upload/202003/04/1583298094_573461.png)


  • 写回答

2条回答 默认 最新

  • 关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵