人間重逢 2022-03-24 17:30 采纳率: 100%
浏览 271
已结题

使用C语言,c语言两个线性表LA,LB,线性表La和线性表Lb合并,将LA中没有的元素插入到LA的前端

#include<stdlib.h>
#include<stdio.h>
#define MAXSIZE 100
#define ERROR 0
#define OVERFLOW 0
typedef int Status;
typedef struct { //定义顺序表
int *elem;
int length;
} List;

Status InitList(List &L) //创建空顺序表
{
L.elem = (int*)malloc(MAXSIZE*sizeof(int));
if(!L.elem)exit(OVERFLOW);
L.length = 0;
return 0;
}

void ListInput(List &L) //顺序表数据的输入
{
int i=0;
while (1){
scanf("%d",&L.elem[i]);
if(L.elem[i]==-1)break;
i++;
}
L.length=i;
}

int ListLength(List L) //求顺序表的长度
{
return L.length;
}

void GetElem(List L, int i, int &e) //求顺序表的第i个元素,并以e返回
{
e = L.elem[i - 1];
}

bool LocateElem(List L, int e) //判断List里有没有e这个元素
{
int i;
for (i = 0; i < L.length; i++)
if (e == L.elem[i])
return true;
return false;
}

void ListInsert(List &L, int e) //将e插入到List的最后
{
L.elem[L.length] = e;
L.length++;
}

void ListOutput(List L) //输出List
{
int i;
for (i = 0; i < L.length; i++)
printf("%d ",L.elem[i]);
printf("\n");
}

void unionList(List &LA, List LB) //线性表的合并(顺序表)
{
//将所有在线性表LB中但不在LA中的数据元素插入到LA中
int LA_len, LB_len, i, e;
LA_len = ListLength(LA);
LB_len = ListLength(LB); //求线性表的长度
for (i = 1; i <= LB_len; i++) {
GetElem(LB, i, e); //取LB中第i个数据元素赋给e
if (!LocateElem(LA, e)) //LA中不存在和e相同的数据元素,则插入之
ListInsert(LA, e);
}
} //unionList

int main() {
List LA, LB;
InitList(LA);//创建线性表LA
InitList(LB);//创建线性表LB
printf("请输入LA,以-1结束:") ;
ListInput(LA);//
printf("请输入LB,以-1结束:") ;
ListInput(LB);
unionList(LA, LB);
printf("LA和LB合并后的集合为:") ;
ListOutput(LA);
return 0;
}

根据上方代码修改,将LA中没有的元素插入到LA的前端(原代码是插入到LA的后端)
谢谢!

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 4月5日
      • 已采纳回答 3月28日
      • 修改了问题 3月24日
      • 创建了问题 3月24日

      悬赏问题

      • ¥15 uniapp实现钉钉【发起审批实例】上传文件到钉盘,后端为C#.Net处理
      • ¥15 求深信服VDI基准测试工具Sangfor DTP
      • ¥20 使用python中pandas进行数据分析
      • ¥20 使用python中pandas进行数据分析
      • ¥15 导入数据,并且以utf-8为编码格式,但是以上代码报错,求解答
      • ¥15 关于#游戏程序#的问题:端 玩wy服务器10几分钟闪退一次没有任何提示,连启动器一起闪退 本人电脑5800h 3060 16运内 win11 求解答
      • ¥15 做一个手游私服需要什么条件?
      • ¥15 关于企业微信,调用官方 微盘api 时候access_token过期的问题?
      • ¥15 请问这个C语言代码的界面怎样修改
      • ¥15 QT for Android 开发的App后台切换后卡死,没有响应