只设置尾指针而不设置头指针的讯循环链表的合并
注意和设置头指针的循环链表的区别。
在该算法中,专门定义了链表的尾指针,注意链表在定义,遍历,等操作上和折纸头指针的链表的区别。
#include<stdio.h>
#include<iostream>
using namespace std;
#define MAX 100
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
//定义尾指针
typedef struct{
LinkList rear;
}LinkListLast;
//初始化
int InitList(LinkListLast &L){
L.rear=new LNode;
L.rear->next=L.rear;
return 1;
}
//创建链表
int CreateList(LinkListLast &L,int e){
LinkList p;
p=new LNode;
p->data=e;
p->next=L.rear->next;
L.rear->next=p;
L.rear=p;
return 1;
}
//遍历
void TraveList(LinkListLast L){
struct LNode *p;
p=L.rear->next->next;
//int length=0;
while(p!=L.rear->next){
//p=p->next;
//++length
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
/*
设置尾指针的循环链表的合并只需要改变两个指向表尾的指针即可。
*/
void Combine(LinkListLa

1743

被折叠的 条评论
为什么被折叠?



