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

织梦如何做英文网站网页设计公司联系方式

织梦如何做英文网站,网页设计公司联系方式,注册公司的条件,虚拟商品交易网站建设————————————本文旨在交流学习计算机知识#xff0c;欢迎交流讨——————————— 上一章#xff0c;我们浅显的讨论了链表的结构#xff0c;本文在上一章的链表的基础上做出了些许优化#xff0c;可配合食用。 回到正题#xff0c;我们已经了解链表的结…————————————本文旨在交流学习计算机知识欢迎交流讨——————————— 上一章我们浅显的讨论了链表的结构本文在上一章的链表的基础上做出了些许优化可配合食用。 回到正题我们已经了解链表的结构它是一种非连续空间存储的线性表主要依靠地址域访问下一个元素并通过遍历操作进行增删改查。 如图这是我们上一章所介绍的链表结构 我们的惯用操作 //单向链表的插入删除先找到节点p//插入 newnode-nextp-next; p-nextnewnode; //删除 node_new temp; tempp-next; p-nextp-next-next; free(temp);看着这幅图我们不禁想到一个问题我们真的需要这个头节点吗是否有些看起来不整齐且结构不一致于是我们考虑到也许我们可以用指针标记header的位置然后再在每一次的函数接口里面新建一个头结点用完即删这样或许看起来更加的整齐和高效。 如图所示 这时我们引入dummy节点并将其放入栈dummy节点充当第一个节点。 void insert(link*header,element val) {node_t dummy;dummy-nextheader;//header为我们的指针因为简化了头结点我们只传入指针node_t *pdummy;//p为遍历指针从dummy开始遍历while(p-next){pp-next;}headerdummy-next;//还原操作 }下面我们重写一下代码 定义链表结构 typedef int Element_t; struct node{Element_t val;struct node *next; }node_t; //节点的结构体typedef struct {node_t *header;int count; } List_t; //链表结构体包括头结点和数量 初始化链表 void initList(List_t *table) {table-count0;table-headerNULL; ) 从最基础的展现函数开始 void shouList(const List_t *table){node_t ptable-header;printf(List :);while(p){printf(%d\t,p-val);pp-next;}printf(\n); } 这里如果不知道const为什么要放在形参里的可以看看我的第一篇文章里面有详细解答。 然后就是增删改查的经典案例了 从增开始 int insertListHeader(List_t* table,Element_t val) { node_t dummy; dummy.nexttable-header;node_t *pdummy;//临时头结点dummy及临时过渡中间容器pnode_t *new_nodemalloc(sizeof(node_t));if(new_nodeNULL){printf(ERROR\n);) //朴素的增加操作new_node-valval;new_node-nextp-next;p-nextnew_node;table-count;table-headerdummy-next; return 0; } 然后这是按位插入操作 int insertListPos(List_t* table,int pos,Element_t val) {if(pos0||postable-count){printf(the pos is not a truly place\n);}node_t dummy;dummy.nexttable-header;node_t* pdummy;int index-1;//计数器while(indexpos-1){pp-next;index;}//遍历查找node_t *new_nodemalloc(sizeof(node_t));new_node-nextp-next;p-nextnew_node;table-count;table-headerdummy.next;return 0; } 删除操作 int deleteList(List_t* table,Element val) {node_t dummy;dummy.nexttable-header;node_t* pdummy;while(p-nextp-val!val){pp-next;}if(p-nextNULL){printf(404 NOT FOUND\n);return 0;}node_t tempmalloc(sizeof(node_t));tempp-next;p-nexttemp-next;free(temp);--table-count;table-headerdummy-next;return 0; } 最后的最后就是销毁链表了 ###关于销毁链表其原理就是按位遍历并按位删除。### void destroyList(List_t *table) {node_t dummy;dummy.next table-header;node_t *p dummy;node_t *temp;while (p-next) {temp p-next;p-next temp-next;free(temp);--table-count;}printf(LinkList have %d node!\n, table-count);// table-header NULL; } 最后是测试函数对比 // 带头指针的单向链表测试 int test02() {List_t stu1;initChainList(stu1);for (int i 0; i 10; i) {insertListHeader(stu1, i 100);}showList(stu1);insertListPos(stu1, 2, 220);showList(stu1);deleteListElement(stu1, 104);showList(stu1);destroyList(stu1);return 0; }int main() {test02();return 0; } 以上就是附录内容欢迎指正
http://www.dnsts.com.cn/news/32732.html

相关文章:

  • 网站建设安全问题湖南网站建设 要上磐石网络
  • 吉林网站建设哪家好linux一键安装wordpress
  • 网站设计)wordpress媒体库有错误
  • 石头科技 网站开发福州市住房和城乡建设网站
  • 自媒体交易网站开发最新的购物网站 开
  • 移动端网站开发语言贵阳营销网站建设公司
  • 什么是网站开发与建设个人注册网站
  • 网站做cdn怎么弄百度账号快速注册
  • 江门cms模板建站网站开发人员需要什么技能
  • 网站建设需要知道什么视频互联网推广选择隐迅推
  • 各大网站收录查询自己怎么注册网站
  • 大庆市建设局网站上不去公众号怎么制作滑动照片
  • 廊坊大城网站建设阿里云1m服务器可以搭建网站
  • 蓝色网站源码企业网站的基本要素
  • 深圳网站建设加q479185700网页游戏网站模板
  • 做企业网站要多少钱淮南房地产网站建设网站
  • 网站优化宝云游戏免费平台
  • 古镇建网站公司wordpress 双分页
  • 简约型网站开发西南交通建设集团股份有限公司网站
  • 电商网站开发面临的技术问题给我一个网站好吗
  • 安卓手机网页视频怎么下载廊坊seo扣费
  • 网站开发要网站要能被搜到需要做推广嘛
  • 上海网站设计公司网wordpress 文件说明
  • 企业网站建设框架图汽配信息门户网站模板
  • 临沂住房和城乡建设局网站做网站的主要内容
  • 建设网站上海市wordpress调用随机文章代码 | wordpress啦!
  • wordpress充值会员重庆企业网站seo
  • 云网站后台成都做整站优化
  • 站长工具综合查询ip国外vps
  • 北京网站备案在哪中企动力企业电子商务