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

网页游戏开服表 怎么删除seo内容优化方法

网页游戏开服表 怎么删除,seo内容优化方法,网站网页的像素尺,wordpress最佳插件本文主要探讨单链表与双链表相关知识。 linux内核链表(include/linux/list.h) 内核链表中纯链表封装,纯链表的各种操作函数(节点创建、插入、删除、遍历),纯链表内嵌在驱动结构体中,实现驱动的创建、插入、删除、遍历等 单链表 单链表链表头插…

本文主要探讨单链表与双链表相关知识。

linux内核链表(include/linux/list.h)
        内核链表中纯链表封装,纯链表的各种操作函数(节点创建、插入、删除、遍历······),纯链表内嵌在驱动结构体中,实现驱动的创建、插入、删除、遍历等

单链表 

        单链表链表头插入节点,尾插入节点,删除节点,逆序

代码示例:

#include <stdio.h>
#include <stdlib.h>struct node
{int data;struct node *next;
};//创建节点
struct node * create_node(int data)
{struct node *p = (struct node *)malloc(sizeof(struct node));if(p == NULL){printf("malloc error\n");return NULL;}p->data = data;p->next = NULL;return p;
}//头部插入节点
void insert_head(struct node *phead,struct node *new)
{struct node *p = phead;if(p == NULL)exit(0);new->next = p->next;p->next = new;(phead->data)++;        //头节点存储节点数量
}//尾部插入
void insert_tail(struct node *phead,struct node *new)
{struct node *p = phead;if(p == NULL)exit(0);while(p->next != NULL){p = p->next;}p->next = new;(phead->data)++;        //头节点存储节点数量
}//遍历链表
void printf_link(struct node *phead)
{if(phead == NULL)exit(0);struct node *p = phead;printf("num of struct : %d \n",p->data);while(p->next != NULL){p = p->next;printf("struct data : %d\n",p->data);}
}//删除节点
int  delete_node(struct node *phead,int data)
{if(phead == NULL)exit(-1);struct node *p = phead;struct node *prev = NULL;while(p->next != NULL){prev = p;p = p->next;if(p->data == data){if(p->next != NULL){prev->next = p->next;   //其他节点free(p);}else{prev->next = NULL;      //尾节点free(p);}(phead->data)--;return 0;}}printf("have no data\n");return -1;
}//链表逆序
void reserve_link(struct node *phead)
{if(phead == NULL)exit(-1);struct node *p = phead->next;struct node *back = NULL;struct node *prev = NULL;if(p->next == NULL || p == NULL)        //只有一个节点,不逆序return ;while(p->next != NULL)                  //两个及两个以上节点{back = p->next;                 //保存链表的下一个节点,由于头插逆序法插入节点与后面节点断开if(p == phead->next)            //第一个节点指向NULL作为逆序首节点{p->next = NULL;}else{p->next = phead->next;}phead->next = p;p = back;}insert_head(phead,p);   //最后一个节点插入到链表,由于最后一个节点指向NULL,while判断失效(phead->data)--;        //头插最后一个节点时,默认新增一个节点
}int main()
{//创建头节点struct node *head = create_node(0);//头部插入节点insert_head(head,create_node(1));insert_head(head,create_node(2));insert_head(head,create_node(3));insert_head(head,create_node(4));insert_head(head,create_node(5));//尾部插入节点insert_tail(head,create_node(1));insert_tail(head,create_node(2));insert_tail(head,create_node(3));insert_tail(head,create_node(4));insert_tail(head,create_node(5));//遍历节点printf_link(head);//删除节点delete_node(head,5);delete_node(head,5);delete_node(head,4);//遍历节点printf_link(head);//链表逆序reserve_link(head);//遍历节点printf_link(head);return 0;
}

结果示例:

双链表

        双链表尾插入,头插入,删除节点,前向遍历,后向遍历 

代码示例:

#include <stdio.h>
#include <stdlib.h>struct node
{int data;struct node *next;struct node *prev;
};//创建节点
struct node * create_node(int data)
{struct node *p = (struct node *)malloc(sizeof(struct node));if(p == NULL){printf("malloc error\n");return NULL;}p->data = data;p->next = NULL;p->prev = NULL;return p;
}//头部插入节点
void insert_head(struct node *phead,struct node *new)
{struct node *p = phead;if(p == NULL)exit(0);new->next = p->next;if(p->next != NULL)p->next->prev = new;p->next = new;new->prev = p;(phead->data)++;        //头节点存储节点数量
}//尾部插入
void insert_tail(struct node *phead,struct node *new)
{struct node *p = phead;if(p == NULL)exit(0);while(p->next != NULL){p = p->next;}p->next = new;new->prev = p;new->next = NULL;(phead->data)++;        //头节点存储节点数量
}//后项遍历链表
void next_printf_link(struct node *phead)
{if(phead == NULL)exit(0);struct node *p = phead;printf("num of struct : %d \n",p->data);while(p->next != NULL){p = p->next;printf("struct data : %d\n",p->data);}
}//前项遍历链表
void prev_printf_link(struct node *phead)
{if(phead == NULL)exit(0);struct node *p = phead;printf("num of struct : %d \n",p->data);while(p->next != NULL){p = p->next;}while(p->prev != NULL){printf("struct data : %d\n",p->data);p = p->prev;}
}//删除节点
int  delete_node(struct node *phead,int data)
{if(phead == NULL)exit(-1);struct node *p = phead;struct node *test = NULL;while(p->next != NULL){p = p->next;if(p->data == data){if(p->next == NULL){p->prev->next = NULL;   //尾节点}else{//其他节点p->prev->next = p->next;p->next->prev = p->prev;}free(p);(phead->data)--;return 0;}}printf("have no data\n");return -1;
}int main()
{//创建头节点struct node *head = create_node(0);//头部插入节点insert_head(head,create_node(1));insert_head(head,create_node(2));insert_head(head,create_node(3));insert_head(head,create_node(4));insert_head(head,create_node(5));//尾部插入节点insert_tail(head,create_node(1));insert_tail(head,create_node(2));insert_tail(head,create_node(3));insert_tail(head,create_node(4));insert_tail(head,create_node(5));//遍历节点next_printf_link(head);//删除节点delete_node(head,2);delete_node(head,5);delete_node(head,4);//next遍历节点next_printf_link(head);//prev遍历节点prev_printf_link(head);return 0;
}

结果示例:

http://www.khdw.cn/news/66212.html

相关文章:

  • 企业模式网站列表管理器厦门百度广告
  • 什邡市建设局门户网站百度的人工客服
  • 网站建设中遇到的问题网络平台推广有哪些渠道
  • 河南商丘网站网络销售模式有哪些
  • 淄博网站建设好的公司开鲁网站seo站长工具
  • 自己做的网站怎么维护广告优化师
  • b站 网站建设搜索引擎优化结果
  • 无锡建站模板系统网络营销平台
  • 网后台的网站怎么做百度seo搜索引擎优化方案
  • 优秀网站设计有哪些如何销售自己产品方法有哪些
  • 网站开发需要什么软件太原网站快速排名优化
  • 网站建设成本包括什么网络营销模式有哪些
  • 万网ecs放多个网站今日军事新闻最新消息新闻
  • 专做项目报告的网站五行seo博客
  • 西安网站建设sd2w合肥seo外包平台
  • 河南宣传片制作公司重庆seo建站
  • wordpress新闻自媒体主题太原seo排名收费
  • 论坛网站前置审批深圳seo优化服务
  • 平顶山网站建设费用安卓优化大师
  • 做网站1g网页空间够吗百度竞价项目
  • 哪个网站可以做pcb加工百度竞价托管费用
  • 网站怎么添加音乐西安网站维护
  • 网站制作洋网络沈阳关键词优化价格
  • 淘宝客做网站怎么做搜外友链平台
  • 网站上360 旋转的图是怎么做的网络营销具有什么特点
  • 阿里云 做购物网站网站佛山网站建设公司
  • 建设集团公司网站微信营销模式有哪些
  • 美业网站建设seo推广软
  • 大连做公司网站的公司seo快排技术教程
  • 网站提升排名域名搜索引擎