码迷,mamicode.com
首页 > 其他好文 > 详细

YJX_Driver_035_在认识链表结构exe部分

时间:2016-04-10 16:22:26      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

1、

在认识链表结构exe部分
  A、链表结构
  B、链表的初始化
  C、在链表中插入数据(结点)
  D、链表的遍历

2、

 


链表:
  链表有单向链表,也有双向链表,有循环的(环形),在这里我们只讨论 双向循环链表。
  双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。


认识链表结构
typedef struct node
{
  struct node R;
  struct node L;
  int data;
} *PDATALINK, DATALINK;
PDATALINK head = new DATALINK;

//初始化链表
head->L=head->R=head;
//在链表中插入个元素
PDATALINK pnode=new DATALINK;
PDATALINK pt;
for (int i=1;i<=5;i++)
{
  pnode->data=i;
  pt=head->R;
  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); // while(!(pt==head));


//文件名:Linktype.h
typedef struct _DATA_LINK
{
  /*链域,*llink是左链域指针,*rlink是右链域指针*/
  struct _DATA_LINK *L;
  struct _DATA_LINK *R;
  // struct _DATA_LINK *Head;
  int data; /*数据域*/
  int data2;
} DATA_LINK, *PDATA_LINK;

//LIST_ENTRY My_List; //自定义链接头

PDATA_LINK head = new DATA_LINK;
VOID Link_Test()
{
  //初始化链表
  head->L=head->R=head;
  head->data=0;
  head->data2=0;
  printf("head=%x\n",head);
  PDATA_LINK Tlink;
  ULONG i = 0;
  //在链表中插入5个元素
  printf(("开始构建链表 \n"));
  for (i=1 ; i<=5 ; i++)
  {
    PDATA_LINK pData =new DATA_LINK;
    pData->data = i;
    pData->data2= i+1;
    //
    Tlink=head->R;//保存后续结点
    Tlink->L=pData;
    head->R=pData;
    //
    pData->R=Tlink;
    pData->L=head;

    //printf("Node%d=%x,R=%x,L=%x,%d,%d\n",
    //pData->data-7,pData,pData->R,pData->L,pData->data,pData->data2);
  }

  //从链表中取出,并显示
  printf("head=%x\n",head);

  PDATA_LINK pnode=head;
  do //判断 遍历完成否
  {
    //显示链表内存结构
    printf("结点%d=%x,R=%x,L=%x,%d,%d\n",
    pnode->data,pnode,pnode->R,pnode->L,pnode->data,pnode->data2);
    pnode=pnode->R;
  } while (!(pnode==head));
}

 

YJX_Driver_035_在认识链表结构exe部分

标签:

原文地址:http://www.cnblogs.com/debugskill/p/5374292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!