分类: C#-ACM |
描述
在实现单链表的时候,有时可以使用一维数组来表示,静态单链表节点的查找操作是静态单链表数据结构对象操作的重要内容,现在要求用链表实现集合运算:(A-B)∪(B-A)。
假设由终端输入集合元素,先建立表示集合A的静态链表S,而后再输入集合B的元素的同时查找S,若存在和B相同的元素,则从S中删除它,否则将此元素插入到S中。
为了使算法清晰,可以分3个过程完成:a.将整个数组空间初始化成一个链表;b.从备份空间取一个节点;c.将空闲节点链接到备用链表中。(强烈建议使用下面的定义和函数结构)
Void InitSpace_SL(SLinkList &space)
int Malloc_SL(SLinkList &space)
Void Free_SL(SLinkList &space,int k)
Void Difference(SLinkList &space,int &S)
输入
输入有多组测试数据,每组测试数据包括2行,第一行是集合A的内容,第二行是集合B的内容,
输出
用一行输出集合运算后的集合。
样例输入
A
B
A
B
样例输出
(A-B)U(B-A)
(A-B)U(B-A)
提示
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <algorithm>
using namespace std;
typedef struct Node
{
}LNode, *List;
List init(void)
{
}
void Insert(List pH, char s[1000], int
n)
{
}
void Show(List pH)
{
}
void shaichu(char s[1000], char c[1000])
{
}
void charu(char s[1000], char a[1000], int la, char b[1000], int lb, int &k)
{
}
void hebing(char a[1000], char b[1000])
{
}
int main()
{
}