# include <iostream>
using namespace std;
struct NODE
{
int data;
struct NODE * next;
};
struct NODE * creat();
struct NODE * merge(struct NODE * p1, struct NODE * p2);
void traverse(struct NODE * p);
int main()
{
struct NODE * p1 = creat();
struct NODE * p2 = creat();
struct NODE * p3 = merge(p1, p2);
traverse(p3);
return 0;
}
struct NODE * creat()
{
int n;
cout << "输入结点的个数: ";
cin >> n;
struct NODE *head, *last, *p;
head = new (struct NODE);
p = head;
while (n--)
{
last = new (struct NODE);
cout << "输入结点的数据: ";
cin >> last->data;
last->next = NULL;
p->next = last;
p = last;
}
last->next = head;
return last;
}
struct NODE * merge(struct NODE * p1, struct NODE * p2)
{
struct NODE * temp = p1->next;
p1->next = p2->next->next;
delete p2->next;
p2->next = temp;
p2 = p1;
return temp;
}
void traverse(struct NODE * p)
{
while () //可以自己定义一个变量记录总数 用num--
{
cout << p->data << " ";
}
cout << endl;
}
循环单链表的合并
最新推荐文章于 2022-07-29 20:25:52 发布