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

英文 网站 源码肃宁网站建设价格

英文 网站 源码,肃宁网站建设价格,iis网站突然无法访问,网站建设上传视频-之前我们学过储存数据的一种表——顺序表#xff0c;那么为什么还有链表呢 首先我们回顾一下顺序表 顺序表是物理地址连续的一段内存空间#xff08;数组#xff09;#xff0c;我们通过动态内存开辟的#xff0c; 那么#xff1a; 顺序表也有自己的一些优点#xff0c…-之前我们学过储存数据的一种表——顺序表那么为什么还有链表呢 首先我们回顾一下顺序表 顺序表是物理地址连续的一段内存空间数组我们通过动态内存开辟的 那么 顺序表也有自己的一些优点比如我们之前做过的一些题可以通过下标来快速完成因为他的地址是连续的所以只要利用下标的加减就可以实现 既然顺序表有缺点那么我们就有了链表。按需求申请空间 通过插入数据来理解链表 打印函数 在链表的尾部插入数据 代码 SLTPushBack(SLTNode* plist, SLTDataType x) {//首先要开辟一个结构体来把要插入的数据的内容写进去在之前的BuySListNode函数就是干这个事情的SLTNode* newnode BuySListNode(x);SLTNode* tail plist;while (tail-next ! NULL){tail tail-next;}tail-next newnode; } 上述的尾插是建立在之前已经头插了几个节点的情况下的 那么当链表还是空的时候这样的尾插还适用吗 知道了这个问题我们来修改代码 那么想要修改plist就要传址 尾插总结图 头插头插不管什么情况都要挪动plist的所以也是传址操作上面已经写到过头插的指针变换了这里我们直接写代码就行 void TestSList3(){SLTNode* plist NULL;SLTPushFront(plist,5);SLTPushFront(plist, 4);SLTPushFront(plist, 3);SLTPushFront(plist, 2);SLTPrin(plist);}void SLTPushFront(SLTNode** head, SLTDataType x) {SLTNode* newnode BuySListNode(x);newnode-next *head;*head newnode;} 尾删 代码 //尾删SLTPopBack(plist);SLTPrin(plist);SLTPopBack(plist);SLTPrin(plist);SLTPopBack(plist);SLTPrin(plist);SLTPopBack(plist);SLTPrin(plist);SLTPopBack(plist);SLTPrin(plist); void SLTPopBack(SLTNode** head) {assert(*head);if ((*head)-next NULL){free(*head);*head NULL;}else{SLTNode* stail NULL;SLTNode* tail *head;while (tail-next!NULL){stail tail;tail tail-next;}free(tail);stail-next NULL;} } 头删 代码 SLTPopFront(plist);SLTPrin(plist);SLTPopFront(plist);SLTPrin(plist);SLTPopFront(plist);SLTPrin(plist);SLTPopFront(plist);SLTPrin(plist);void SLTPopFront(SLTNode** head) {assert(*head);SLTNode* newnode (*head)-next;free(*head);*head newnode; } 查找链表中的数的指针并改变这个指针所指节点的数据 代码 //查找链表中的一个值的指针并且改变他SLTNode* newnode SLTFind(plist, 3);newnode-data 20;SLTPrin(plist); SLTNode* SLTFind(SLTNode* head, SLTDataType x) {SLTNode* cur head;while (cur ! NULL){if (cur-data x){return cur;}cur cur-next;}return NULL; } 在Pos位置插入节点 代码 //在指定数据的指针pos位置前插入一个节点SLTNode* pos SLTFind(plist, 3);//先查找到3所对应的指针posSLTnsert(plist, pos, 30);SLTPrin(plist); void SLTnsert(SLTNode** head, SLTNode* pos, SLTDataType x) {assert(pos);if (pos *head){SLTPushFront(head, x);//头插}else{SLTNode* prev *head;while (prev-next ! pos){prev prev-next;//找到pos位置之前的那个节点的指针}SLTNode* newnode BuySListNode(x);//为要插入的数据创建一个节点prev-next newnode;newnode-next pos;} } 在pos位置之后插入节点 代码: SLTNode* pos SLTFind(plist, 3);//先查找到3所对应的指针pos/* SLTnsert(plist, pos, 30);SLTPrin(plist);*/SLTnsertAfter(plist, pos, 30);SLTPrin(plist); void SLTnsertAfter(SLTNode* head, SLTNode* pos, SLTDataType x) {assert(head);SLTNode* newnode BuySListNode(x);//为要插入的数据创建一个节点newnode-next pos-next;pos-next newnode; } 删除Pos位置的节点 SLTErase(plist, pos);pos NULL;SLTPrin(plist);void SLTErase(SLTNode** head, SLTNode* pos) {assert(pos);if (pos *head){SLTPopFront(head);//头删}else{SLTNode* per *head;while (per-next!pos){per per-next;}per-next pos-next;free(pos);} } 删除pos位置之后的节点 代码 SLTNode* pos SLTFind(plist, 3);//先查找到3所对应的指针posSLTEraseAfter(pos);SLTPrin(plist); void SLTEraseAfter(SLTNode* pos) {assert(pos-next);assert(pos);SLTNode* per pos-next;pos-next per-next;free(per);}释放链表
http://www.yingshimen.cn/news/70194/

相关文章:

  • 南博会官方网站建设投入设计师必备的国际设计网站
  • 深圳罗湖住房和建设局网站官网seo公司是怎么做的
  • wamp个人网站开发来源美图秀秀在线修图
  • 重庆网站制作建设常州网站建设找思创
  • 做网站开发需要考什么证书怎么做百度推广网站
  • 北京h5网站建设公司android 网站模板下载
  • 网站开发案例详解浙江省建设厅网站在哪里
  • 去公司叫自己做网站不会做制作表情包的软件app
  • 网站建设服务包含内容百度问答seo
  • 北京怀柔网站建设公司中国经济网人事
  • 小程序 手机网站wordpress排序插件
  • 常州网站建设czyzj在线设计公司logo图标
  • 热烈祝贺网站上线自动推广软件免费
  • 安卓网站建站系统下载有了域名后怎么建设网站
  • 甘州区建设局网站客户资源网
  • 中英文双语企业网站深圳福田区福田社区
  • 自学网站建设基本流程领优惠券的网站怎么建设的
  • 环保网站可以做哪些方面wordpress临时关闭
  • 怎么在百度上建立网站如何查网站是否备案
  • 西安杰商网络网站建设商务网站建设 视频
  • 电商网站开发思路wordpress禁止非浏览器访问
  • 哪个网站开发是按月付费的服务器运维
  • 企石镇网站仿做淘宝网站都是怎么做的
  • 聊城网站建设lchckj关键词seo报价
  • 优化网站技术php做网站中下一步按钮
  • ipad怎么制作网站网络营销的特点包括哪些?
  • 电大企业网站建设论文范文有用的网站地址
  • 京东网站建设的目标wordpress mofile
  • sns社交网站注册网络营销比较成功的企业
  • 网站copyright写法多语言网站建设 技术