A、链表结构
B、链表的初始化
C、在链表中插入数据(结点)
D、链表的遍历
链表:
链表有单向链表,也有双向链表,有循环的(环形),在这里我们只讨论 双向循环链表。
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
认识链表结构
// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
typedef struct node
{
struct node* R; //上一个链表
struct node* L; //下一个链表
int data;
}*PDATALINK, DATALINK;
PDATALINK head = new DATALINK;
int _tmain(int argc, _TCHAR* argv[])
{
head->L = head->R = head; //初始化链表,链表的头和尾都指向本身
head->data = 0;
//在链表中插入元素
PDATALINK pnode = new DATALINK; //将要插入的元素
PDATALINK pt; //临时指针
for (int i = 1; i <= 1; i++)
{
pnode->data = i; //数据赋值
pt = head->R; //pt指向上一个链表
pnode->R = pt; //插入的链表的上一个链表
pnode->L = head; //插入链表的下一个链表
head->R = pnode;
pt->L = pnode;
}
//遍历链表数据
pt = head;
do
{
printf("pt->data = %x\n", pt->data);
pt = pt->R;
} while (pt != head);
return 0;
}
————————————————
版权声明:本文为CSDN博主「zang141588761」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zang141588761/article/details/82860690