#include <stdio.h>
#include <iostream>
using namespace std;
typedef char Elemtype;
typedef struct Node{
Elemtype data;
Node *next;
}Node,LinkList;
LinkList * InitList()
{
//初始化循环链表
Node *head;
head=(LinkList *)malloc(sizeof(LinkList));
head->data=NULL;
head->next=head;//空表时尾部指向自己
return head;
}
int AddListElem(LinkList *L,Elemtype e)
{
//插入循环链表元素
Node *adn,*p;
adn=(LinkList *)malloc(sizeof(LinkList));
adn->data=e;
adn->next=L;
p=L->next;
while(p->next->data)
{
p=p->next;
}
p->next=adn;
return 1;
}
int UList(LinkList *L1,LinkList *L2)
{
//函数功能:把L2链表并入L1
//1、定义一个临时结点指针p
Node *p;
p=L1->next;
while(p->next->data)//查找L1尾部
{
p=p->next;
}
p->next=L2->next;
return 1;
}
int main()
{
LinkList *L;
LinkList *L1;
L=InitList();
AddListElem(L,'a');
AddListElem(L,'b');
AddListElem(L,'c');
AddListElem(L,'d');
L1=InitList();
AddListElem(L1,'A');
AddListElem(L1,'B');
AddListElem(L1,'C');
AddListElem(L1,'D');
UList(L,L1);
L;
L1;
}
循环链表
最新推荐文章于 2023-07-17 16:59:20 发布