1,无序线性表的合并
只要从B中依次取得每个数据元素, 并依值在A中进行查访, 若不存在, 则插入。
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXSIZE 100
#define ElemType int
#define Status int
//顺序表的数据结构
typedef struct
{
ElemType *data;
int length;
}SqList;
//初始化
void InitList(SqList &L)
{
L.data = new ElemType[MAXSIZE];
L.length = 0;
}
//打印线性表
void PrintList(SqList L)
{
printf("当前顺序表的所有元素:");
for (int i = 0; i <L.length; i++)
{
printf("%d ", L.data[i]);
}
printf("\n");
}
//创建线性表
void Create(SqList &L)
{
int n,i;
printf("请输入要输入元素的个数:");
scanf("%d", &n);
if (n<0 || n>MAXSIZE)
{
printf("请输入正确的个数!\n");
}
for (i = 0; i < n; i++)
{
printf("请输入第%d个元素:",(i+1));
scanf("%d", &(L.data[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 &