1,无序线性表的合并
只要从B中依次取得每个数据元素, 并依值在A中进行查访, 若不存在, 则插入。
代码如下:
#include<iostream>
using namespace std;
#define MAXSIZE 100
typedef int status;
typedef int Element;
typedef struct{
Element *p;
int length;
}SqList;
void InitList(SqList &L){
L.p=new Element[MAXSIZE];
L.length=0;
}
void Input(SqList &L){
int n;
cout<<"你将要输入几个数";
cin>>n;
if(n<0||n>MAXSIZE){
cout<<"error";
}
for(int i=0;i<n;i++){
cout<<"输入第"<<i+1<<"个数";
cin>>L.p[i];
L.length++;
}
cout<<endl;
}
void Display(SqList &L){
int i;
for(i=0;i<L.length;i++){
cout<<L.p[i]<<" ";
}
cout<<endl;
}
void Mixmember(SqList &L,SqList &M){
int i,j=0;
int m=L.length;
int n=M.length;
for(i=0;i<n;i++){
while(L.p[j]!=M.p[i]&&j<m){
j++;
}
if(j>=m){
L.p[m]=M.p[i];
L.length++;
m++;
}
j=0;
}
}
int main()
{
SqList A,B;
InitList(A);
InitList(B);
Input(A);
Input(B);
Mixmember(A,B);
Display(A);
return 0;
}
此代码以一下链接为参考