首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

算法与数据结构之三----循环链表

/**************************************************************** 文件内容:线性表之循环链表操作 版本V1.0 说明:单链表必需从头结点开始遍历,而循环链表可以从任何地方都可以遍历,只不过只能想后遍历 循环链表的特点: 1.链表头指针和尾指针相接,也就是说没有头指针,也没有尾指针(也没有NULL指针,单链表尾指针为NULL) 2.从任何一个地方开始遍历都可以找到某一个节点X 创建方法: 方法1.先建立两个单链表,然后将一个单链表的头指针链接到另外一个单链表的尾指针。 方法2:在后插入法建立单链表的基础上,每创建一个节点,尾指针总是指向头指针。 判断一个链表是否是循环链表的方法: 对链表进行遍历,如果能找到某个指针域指向NULL,则为单链表,否则就是双链表 循环链表特性: 1.循环链表无法求长度,因为是无限长度的 2.循环链表是无法遍历完毕的,因为是无限长度的 3.循环链表插入,删除,查找跟单链表没有任何区别,只不过单链表有头指针,循环链表没有 头指针,或者说循环链表中任意一个节点指针都是头指针。 作者:HFL 时间:2013-12-25  *****************************************************************/  #include<stdio.h> #include<malloc.h> #include <windows.h> //#define RELEASE_VERSION  //release版本开关 //#define TRIDiTION /*inlude<malloc.h> stdlib.h 包含malloc.h*/ #ifdef RELEASE_VERSION #define  Log  #else #define  Log  printf #endif /*为了提高程序的可移植性,千万不能使用裸露的数据类型*/ #ifndef UINT32  typedef unsigned int UINT32 ; #endif #ifndef INT32  typedef  int  INT32 ; #endif typedef struct CNode { INT32 data; struct CNode *next; }Cnode,*Linklist; /**************************************************************** 函数功能:创建一个循环链表,由单链表中初始化链表2(即尾部创建一个链表)派生而来                         输入参数:  无 返回值:链表的标头指针  说明:要引入一个新的指针变量,用于链接前后节点       在后插入建立单链表的基础上,每次创建一个节点,就将尾指针指向头指针 作者:HFL  时间:2013-12-24  ************T*****************************************************/  Linklist Creat_Clinklist() { Linklist L=NULL; Cnode *s; Cnode *probe =NULL; INT32 x;     scanf("%d",&x); while(x!=0) {  s=(struct CNode *)malloc(sizeof(Cnode));  if(NULL==s) { Log(" sorry,Malloc is failed\n"); } else { Log(" Malloc is successed!\n"); if(L== NULL) { L = s;  //第一个节点就必需保存投节点 } else { probe->next = s; //第二个节点开始,要引入一个临时指针,来暂存上一个节点地址,一遍链接前后两个节点 } probe = s;  //每次创建一个新节点,节点都必需重新移动。 s->data = x ; s->next = L; scanf("%d",&x); } } return L; } /*******************************************************

01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    css基础教程学习

    1.CSS 概述   CSS 指层叠样式表 (Cascading Style Sheets)   样式定义如何显示 HTML 元素   样式通常存储在样式表中   把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题   外部样式表可以极大提高工作效率   外部样式表通常存储在 CSS 文件中   多个样式定义可层叠为一     样式可以规定在单个的 HTML 元素中,在 HTML 页的头元素中,     或在一个外部的 CSS 文件中。甚至可以在同一个 HTML 文档内部引用多个外部样式表 2.当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?   一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。     1浏览器缺省设置     2外部样式表     3内部样式表(位于 <head> 标签内部)     4内联样式(在 HTML 元素内部) 3.CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。   selector {     declaration1;     declaration2; …     declarationN;   }  选择器通常是您需要改变样式的 HTML 元素。   每条声明由一个属性和一个值组成。     h1 {       color:red;       font-size:14px;     }   如果值为若干单词,则要给值加引号:     p {       font-family: “sans serif”;     }   以上都称之为规则,一个规则里可以有不止一种声明。规则是包含在样式表中的。 4.不可以在内联元素 中嵌入

      id 属性只能在每个 HTML 文档中出现一次。 5.CSS id选择器   id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。 id 选择器以 “#” 来定义。   在现代布局中,id 选择器常常用于建立派生选择器(即选择器中多了一个元素,即为派生。比如#sidebar为选择器,#sidebar p为派生)   #sidebar p {     font-style: italic;     text-align: right;     margin-top: 0.5em;   }

    02

    ue4 插件开发(ue4性能优化)

    UE4引擎和UE4项目是由各个模块组成的,其主要编程语言是C++。 插件也是一个模块,说到插件必须讲到耦合性与独立性,耦合性是对模块间关联程度的度量,模块间关联越强,则耦合性强,独立性差。 庞大的UE4引擎各模块相互参差作用,所以想要读懂并拆解并非易事,而创建UE4游戏项目实则只引入了引擎的部分模块,再想想如果很多游戏项目都需要用到这一个自定义功能时,是不是每个项目都要开发一次这个功能,个人或者一家公司内部还好,只要把项目代码复制给另一个项目即可,但是全球这么多的UE4开发者怎么办,开发者的结晶势必要发挥它最大的用处,把自己的研发成果分享出去,为了解决这类问题,就要使得模块独立起来,那么UE4插件就该闪亮登场了。

    02
    领券