数据结构---循环链表

循环链表与单链表的最大区别就在于:单链表最后一个节点指向NULL,而循环链表的最后一个节点指向的是头节点

至于其他的操作与单链表相似,详细请看<<单链表>>
所有的操作几乎都是将判断是否为空,改为是否指向头结点

#include<iostream>
#include<Windows.h>
#include<stdlib.h>
using namespace std;
typedef struct LinkNode {
	int date;
	struct LinkNode* next;
}LinkList,LinkNode;
bool initLink(LinkList* &L) {
	L = new LinkList;
	L->date = -1;
	L->next = L;
	return true;
}
bool LinkInserct(LinkList* &L,int e) {
	LinkList* last,*s;
	s = new LinkList;
	last = L;
	s->date = e;
	if (L->next == L) {
		last->next = s;
		s->next = L;
	}
	else {
		while (last->next != L) last = last->next;
		last->next = s;
		s->next = L;
	}
	return true;
}
bool LinkList_ptint(LinkList* &L) {
	LinkList* p;
	if (L->next == L)return false;
	p = L->next;
	while (p != L) {
		cout << p->date << " ";
		p = p->next;
	}
	cout << endl;
	return true;
}
int main() {
	LinkList* L;
	//1.初始化
	initLink(L);
	//2.添加数据
	for (int i = 1;i <= 10;i++) {
		LinkInserct(L,i);
	}
	//3.输出
	LinkList_ptint(L);
	system("pause");
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值