当前位置: 首页 > news >正文

北京网站开发怎么样wordpress win

北京网站开发怎么样,wordpress win,wordpress主题 dux,做外贸没有网站需要注意什么条件1. 单链表的基本操作 1.1. 链表的定义1.2. 链表的创建#xff08;初始化#xff09; 1.2.1. 不带头结点的链表1.2.2. 带头结点的链表 1.3. 链表的插入和删除 1.3.1. 按位序插入 1.3.1.1. 带头结点1.3.1.2. 不带头结点 1.3.2. 指定节点的后插操作1.3.3. 指定元素的前插操作1.3…1. 单链表的基本操作 1.1. 链表的定义1.2. 链表的创建初始化 1.2.1. 不带头结点的链表1.2.2. 带头结点的链表 1.3. 链表的插入和删除 1.3.1. 按位序插入 1.3.1.1. 带头结点1.3.1.2. 不带头结点 1.3.2. 指定节点的后插操作1.3.3. 指定元素的前插操作1.3.4. 按位序删除 1.3.4.1. 带头结点1.3.4.2. 不带头结点 1.3.5. 指定元素的删除操作 1. 单链表的基本操作 链表是一种基本的数据结构在很多数据结构中都会使用链表的方式进行建立所以将链表学会学通透很有必要。 1.1. 链表的定义 链表的定义是基于结构体之上的一个链表一般需要定义两方面的东西一个是链表的节点一个是链表的指针。一个链表的定义示例如下 typedef struct ListNode {int data;struct ListNode *next; }LNode,*List;上述代码中的val是数据域用来存放数据next是指针域用来存放下一个节点的地址。 并且该代码采用了typedef定义了一个别名LNode用来指代链表的节点List是链表的指针用来指向链表的第一个节点。 1.2. 链表的创建初始化 链表的创建有两种方式一种是带头结点的另一种是不带头节点的。 1.2.1. 不带头结点的链表 不带头结点的链表的创建方式如下 void InitList(List *L) {LNULL; }即使得链表的下一个节点为空。 1.2.2. 带头结点的链表 带头结点的链表的创建方式如下 void InitList(List *L) {L(List)malloc(sizeof(LNode));if(LNULL){return ;//此时表示创建头结点失败}L-nextNULL;//头结点指向的下一个节点为空 }头结点的好处就在于当我们需要对链表进行一个操作的时候不需要专门对链表的第一个节点进行特殊操作我们只需要对所有的代码编写一个固定的函数通过传递不同的值就可以实现特定高度功能。 1.3. 链表的插入和删除 1.3.1. 按位序插入 1.3.1.1. 带头结点 链表的插入需要先找到要插入位置的前后节点然后创建一个指针使得前一个节点指向这个指针这个指针再指向下一个节点。 在按位序插入的过程中我们需要输入链表的头结点供遍历寻找目标位置要插入的位置和元素。 示例代码如下 bool ListInsert(List *L,int i,int e) {if(i1){return false;}LNode *p; //p表示当前指向的是哪个节点int j0; //j表示的是当前指向节点的位置pL; //目前先让p指向头节点while(p!NULLji-1) //循环找到要插入节点的前一个节点{pp-next;j;}LNode *s(LNode *)malloc(sizeof(LNode));s.datae;s-nextp-next;p-nexts;return true; }1.3.1.2. 不带头结点 不带头结点的插入与带头结点的插入类似但是相对带头节点来说更加繁琐。 bool ListInsert(List *L,int i,int e) {if(i1){return false;}if(i1){LNode *q(LNode *)malloc(sizeof(LNode));q-datae;q-nextL;Lq;}LNode *p; //p表示当前指向的是哪个节点int j0; //j表示的是当前指向节点的位置pL; //目前先让p指向头节点while(p!NULLji-1) //循环找到要插入节点的前一个节点{pp-next;j;}LNode *s(LNode *)malloc(sizeof(LNode));s.datae;s-nextp-next;p-nexts;return true; }同样传入的是第一个节点的地址要加入节点的位置和要加入的元素区别就在于加入要在第一个位置插入元素就需要特别处理一下。 1.3.2. 指定节点的后插操作 在给定节点后插入节点的操作相对简单示例代码如下: bool InsertNextNode(LNode *p,int x) {if(pNULL){return false;}LNode *s(LNode *)malloc(sizeof(LNode));s-nextp-next;p-nexts;sdatax;return true; }1.3.3. 指定元素的前插操作 在指定元素之前要插入一个元素最容易想到的办法是将整个链表遍历一遍之后找到这个元素的前驱节点转换成后插操作。但是这种办法实现起来较为复杂所以我们转换一种思维方式采取新的方法。 我们尝试在指定节点之后先插入一个节点然后把指定节点的值赋给新节点之后再把要插入的值赋给旧节点。总而言之就是现在之后插入节点然后把两个节点的值互换就相当于将前后节点互换了。示例代码如下 bool InsertPriorNode(LNode *p,int x) {if(pNULL){return false;}LNode *s(LNode *)malloc(sizeof(LNode));s-nextp-next;p-nexts;s-datap-data;p-datax;return true; }1.3.4. 按位序删除 1.3.4.1. 带头结点 在带头结点的删除节点操作中我们需要给函数传递链表的第一个节点的位置要删除的位置和一个变量用来存储删除节点的元素值。 删除的主要操作是创建一个指针(不分配内存空间)指向要删除的节点然后让要删除指针前一个节点指向要删除指针的后一个节点然后将要删除的指针释放内存从而达到目的。 示例代码如下 bool ListDelete(List L,int i,int x) {if(i1){return false;}LNode *p;int j0;pL;while(p!NULL;ji-1){pp-next;j;}if(pNULL){return false;}if(p-nextNULL){return false;}LNode *qp-next;xq-data;p-nextq-next;free(q); }1.3.4.2. 不带头结点 与不带头结点的插入类似这里不再赘述。 1.3.5. 指定元素的删除操作 删除操作和带头结点的的相似指定元素和指定元素的插入相似这里不再赘述
http://www.zqtcl.cn/news/175823/

相关文章:

  • 网站开发的技术栈网页设计1920尺寸
  • 在中国可以做国外的域名网站吗中国建设银行人力资源网站
  • 中石化第四建设公司 网站电商app开发价格表
  • dhru商城网站建设免费英文网站建设
  • 公司建设网站的 计划书深圳华强北电子商城
  • 宁波网站建设有限公司大圣网站建设
  • wish网站应该怎么做网站的html代码在哪
  • 哪个网站可以做体育主播站长工具seo综合查询怎么去掉
  • 哪个网站做logo设计师公司做网站需要什么资料
  • 想自己做衣服上哪个网站学网站设计网上培训学校
  • 做餐饮的网站云匠网可能会遇到哪些问题
  • 制作网页网站的软件是网络科技公司怎么注册
  • 如何做百度推广网站价格网如何查产品价格
  • 织梦移动网站后缀找生意项目
  • 深圳高端网站建设美工步骤图
  • 指数网站网站用ps下拉效果怎么做
  • 李沧网站建设电话从化企业网站建设
  • 北京电商网站建设公司新康家园网站建设
  • 广西注册公司网站企业高端网站制作
  • 国安中建建设集团网站南京网页设计培训班
  • 网站如何制作建设内容社交电商平台
  • 无法连接到wordpress站点网站建设两个方面
  • 广东官网网站建设品牌未来做啥网站能致富
  • 网站建设合同副本珠海微网站建设
  • wordpress 多语言 站点数据分析师报名入口
  • 做网站长尾词品牌设计模板
  • 企业建立网站的优势阿里云做网站号码
  • 江苏住房城乡建设厅网站一千块钱能注册公司吗
  • 山东兴华建设集团有限公司网站分类信息网站怎么做
  • 怎么用手机网站做软件西安网站建设开发熊掌号