代码拉取完成,页面将自动刷新
// Copyright[2023]<Peng Lianghua>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSIZE 100
#define ElemType int
#define Status int
// 顺序表的数据结构
typedef struct {
ElemType *elem;
int length;
} SqList;
// 初始化
void InitList(SqList &L) {
L.elem = new ElemType[MAXSIZE];
L.length = 0;
}
// 打印线性表
void PrintList(SqList L) {
printf("当前顺序表的所有元素:");
for (int i = 0; i < L.length; i++) {
printf("%d ", L.elem[i]);
}
printf("\n");
}
// 创建线性表
void InitList(SqList &L) {
int num, i;
printf("输入要输入元素的个数:");
scanf("%d", &num);
if (num < 0 || num > MAXSIZE) {
printf("输入正确的个数!\n");
}
for (i = 0; i < num; i++) {
printf("输入第%d个元素:", (i + 1));
scanf("%d", &(L.elem[i]));
L.length++;
}
}
// 合并二个无序线性表
void MergeList(SqList &A, SqList &B) {
int i, j = 0;
int m = A.length;
int n = B.length;
for (i = 0; i < n; i++) {
while (A.elem[j] != B.elem[i] &&
j < m) // 遍历A,直到找到等于B.elem[i]的元素或没找到才退出
{
j++;
}
if (j >= m) // 没找到,则插入该元素i到A并循环至B中的下个元素
{
A.elem[m] = B.elem[i];
A.length++;
m++;
}
}
}
int main() {
SqList A, B;
InitList(A);
InitList(B);
// 创建A,B两个线性表
printf("请输入集合A的元素:\n");
InitList(A);
printf("请输入集合B的元素:\n");
InitList(B);
// 合并A和B集合到A中
MergeList(A, B);
PrintList(A);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。