#include<stdio.h>
#include<stdlib.h>
short InitHeadNode(struct Node* &, struct Node* &);
short RearInsert(struct Node* &, struct Node* &, short);
short GetListLength(struct Node* &);
short IsElemIn(struct Node* &, short);
void DeleteNodeNotIn1ButIn2(struct Node* &, struct Node* &);
void Traversal(struct Node* &);
/* 链表结点定义 */
struct Node
{
short data;
struct Node *next;
};
int main()
{
struct Node *head1;
struct Node *rear1;
struct Node *head2;
struct Node *rear2;
/* 初始化1#链表的头结点 */
if(InitHeadNode(head1, rear1) == -1)
{
/* 头结点申请失败, 程序直接结束 */
exit(0);
}
short temp;
/* 向链表中插入数据结点 */
while(1)
{
while(scanf("%hd", &temp) != 1)
{
while(getchar() != '\n') ;
printf("请输入合法数据.\n");
}
if(temp == -1)
{
break;
}
已知两个链表A和B分别表示两个集合, 其元素递增排列. 设计一个算法, 求出A与B的交集, 并存放在A链表中
最新推荐文章于 2024-08-15 20:39:45 发布
该程序实现了一个简单的链表管理功能,包括初始化链表、尾部插入节点、检查元素是否存在、删除不在第一个链表但存在于第二个链表的元素以及遍历链表。用户可以输入数据构建两个链表,最后删除第二个链表中只出现一次的元素。
摘要由CSDN通过智能技术生成