第二章(4).循环链表
来源:互联网 发布:powershell管理linux 编辑:程序博客网 时间:2024/06/07 04:13
#include<stdio.h>
#include<stdlib.h>//循环链表比一般链表不同的地方就是循环条件是(p != head )
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define OVERFLOW -2typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;void InitList(LinkList *L,int n) //利用表头指针
{
LinkList p;
int i;
*L = (LinkList)malloc(sizeof(LNode));(*L)->next = *L; //逆序
for(i = n; i > 0; --i)
{
p = (LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
p->next = (*L)->next;
(*L)->next = p;
}
}void PrintList(LinkList L)
{
LinkList p;
p = L->next;while(p != L )
{
printf("%d ",p->data);
p = p->next;
}
printf("\n");
}void Unit(LinkList *La, LinkList Lb) //链表合并
{
LinkList pa,pb,qa,qb;
pa = *La;
qa = Lb;while(pa->next != *La)
{
pa = pa->next;
} //寻找尾指针,此时pa为尾指针
while(qa->next != Lb)
{
qa = qa->next;
} //此时qa为尾指针pb = pa->next;
qb = qa->next;
pa->next = qb->next;
qa->next = pb;
}
void InsertList(LinkList *L,int i,ElemType e) //在第i个元素之前插入此元素
{
LinkList p,q;
int j = 0;p = (*L);
while((p->next) != (*L) && j < i-1)
{
p = p->next;
++j;
}
if( (p->next) == (*L) || j > i-1)
{
exit(0);
}
q = (LinkList)malloc(sizeof(LNode));
q->data = e;
q->next = p->next;
p->next = q;
}int main()
La = NULL;
{
LinkList *La,*Lb;
int n = 5;
Lb = NULL;
La = (LinkList *)malloc(sizeof(LinkList));
Lb = (LinkList *)malloc(sizeof(LinkList));
InitList(La,n);
InitList(Lb,n);
Unit(La,*Lb);PrintList(*La);
InsertList(La,1,112);
PrintList(*La);
return 0;
}
- 第二章(4).循环链表
- 第二章(5).双向循环链表
- 数据结构学习之路-第二章:循环链表
- 数据结构(第二天) 双向循环链表
- 第二章 线 性 表(顺序表、单链表、静态链表、循环链表、双向链表)
- 第二章 循环结构程序设计
- 第二章 循环结构程序设计
- 第二章 循环结构程序设计
- <数据结构> 第二章 线性表之循环链表的代码粗实现
- 数据结构编程笔记六:第二章 线性表 双向循环链表的实现
- 第二周项目4(1)用循环求
- 《编程珠玑》第二章-循环移位
- 第二章 DOS循环for命令详解
- 第二章循环结构程序设计习题
- 算法竞赛入门经典 第二章 循环
- 紫书第二章-----循环结构程序设计
- 第二周项目4-用循环求
- 第二周项目4-用循环求
- 第二章(3).静态链表
- unicode下各种类型转换,CString,string,char*,int,char[]
- 第二章(1).线性表
- java面向对象的三大特性之继承
- 第二章(2).链表
- 第二章(4).循环链表
- Oracle中关于PCTFREE和PCTUSED的说明
- 第二章(5).双向循环链表
- 腾讯 2016届实习生招聘笔试
- 10句编程箴言 (转)
- HDOJ Can you find it? 2141(二分搜索)
- 【引用】C/C++中指针和引用之相关问题研究
- Android百度地图学习笔记(三)---地理编码
- jquery选择器的空格问题