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

专业别墅设计装修重庆seo技术博客

专业别墅设计装修,重庆seo技术博客,logo设计生成器免费,正规的网站建设公目录 创建文件#xff1a; 具体实现#xff1a; 首先是头插。 注意#xff1a;一定要注意#xff1a;再定义tmp时#xff0c;要给它赋一个初始值#xff08;推荐使用 new list_next) 接着是尾插#xff1a; 随后是中间插#xff1a; 然后是最简单的改值#xf…目录 创建文件 具体实现 首先是头插。 注意一定要注意再定义tmp时要给它赋一个初始值推荐使用 new list_next) 接着是尾插 随后是中间插 然后是最简单的改值 随后是删头 一定要注意size--)  删中间 末尾 oh,对了 我们知道单链表今天博主也就是我自己手写了一个单链表用指针写的现在我来分享一下。 创建文件 我用三个来写list.h,listfun.h,run.cpp)run.cpp)用来调试 具体实现 list.h #includestdio.h #includestdlib.h #includeassert.h #includelimits.h struct list_next{//链表的一个值int value;struct list_next *next; }; struct list_make{//一条链表的结构list_next *head;list_next *tail;int size; }; //void head_add(list_next* head,int v,int size);//头插 //void tail_add(list_next* tail,int v,int size);//尾插 //void add_node(list_next* head,int p,int v,list_next* tail,int size);//插入 //void change(list_next* head,int p,int v);//改值 //void head_del(list_next* head,int size);//头删 //void del_node(list_next* head,int p,list_next* tail,int size);//删除 //void init(list_make p,int v) //初始化 接下来就是核心的listfun.h 首先是头插。 函数定义 void head_add(list_next* head,int v,int size) (这里用了引用不会的童鞋们请看-引用教程  先用图来演示左边是值右边是next域 ​​​​​​​ 上图是原来的样子tmp是要插入的数。 list_next* tmpnew list_next; tmp-valuev; 接着把tmp的next改成head。 tmp-nexthead; 再把头换成tmp。 head tmp; 最后size1(因为长度增加了 size; 所以头插代码就是 void head_add(list_next* head,int v,int size) {list_next* tmpnew list_next;tmp-valuev;tmp-nexthead;head tmp;size; } 注意一定要注意再定义tmp时要给它赋一个初始值推荐使用 new list_next) 接着是尾插 函数定义 void tail_add(list_next* tail,int v,int size) 还是回到那张图 把tmp初始化 ​​list_next* tmpnew list_next; tmp-valuev; tmp-nextNULL; 把尾的next变成tmp。 tail - nexttmp; 把tmp变成尾 tail tmp; 最后size; 整理后代码 void tail_add(list_next* tail,int v,int size) {list_next* tmpnew list_next;tmp-valuev;tmp-nextNULL;tail - nexttmp;tail tmp;size; } 随后是中间插 函数定义 void add_node(list_next* head,int p,int v,list_next* tail,int size) 几句可以加快速度的代码 if(p 0) {head_add(head,v,size); } if(p size) {tail_add(tail,v,size);return ; } 来正式的 首先找到第p个 list_next* tmpnew list_next;//初始化 tmp-value v; int x1;//第几个 for(list_next* ihead;i!NULL;ii-next,x) {if(x p){...} } 将第tmp的next第p个的next ​​​​​​​ 将第p个的next变为tmp: ​​​​​​​就好了 tmp-next i-next; i-nexttmp; break;//省时 最后是size; void add_node(list_next* head,int p,int v,list_next* tail,int size) {if(p 0){head_add(head,v,size);} if(p size){tail_add(tail,v,size);return ;}list_next* tmpnew list_next;tmp-value v;int x1;for(list_next* ihead;i!NULL;ii-next,x){if(x p){tmp-next i-next;i-nexttmp;break;}}size; } 然后是最简单的改值 没啥好说 void change(list_next* head,int p,int v) {int x1;for(list_next* ihead;i!NULL;x,ii-next){if(x p)//找到第p个值 {i-valuev;//改值 break;}} } 随后是删头 永恒的那张图 ​​​​​​​ 我们可以直接把头变成头的next。 void head_del(list_next* head,int size) {head head-next;size--; } 一定要注意size--)  删中间 函数定义 void del_node(list_next* head,int p,list_next* tail,int size) 加速代码 if(p 1) {head_del(head,size);return ; } 永恒之图 先找到第p-1个再把第p-1个的next变为第p个的next也就是第p-1的next的next。 但是如果删尾部的话要有个特判把第p-1个的next设为NULLtail 第p-1个。 然后 就ok了。 void del_node(list_next* head,int p,list_next* tail,int size) {if(p 1){head_del(head,size);return ;}int x1;for(list_next* ihead;i!NULL;ii-next,x){if(x p-1){if(p size)//如果删尾巴的话 {i-next NULL;//那么这个就是尾巴next是NULL tail i;//尾巴变成i break;}i-next i-next-next;break;}}size--; } 这时所有的链表操作都好了上总体代码。 #includelist.h using namespace std; void head_add(list_next* head,int v,int size) {list_next* tmpnew list_next;tmp-valuev;tmp-nexthead;head tmp;size; } void tail_add(list_next* tail,int v,int size) {list_next* tmpnew list_next;tmp-valuev;tmp-nextNULL;tail - nexttmp;tail tmp;size; } void add_node(list_next* head,int p,int v,list_next* tail,int size) {if(p 0){head_add(head,v,size);} if(p size){tail_add(tail,v,size);return ;}list_next* tmpnew list_next;tmp-value v;int x1;for(list_next* ihead;i!NULL;ii-next,x){if(x p){tmp-next i-next;i-nexttmp;break;}}size; } void change(list_next* head,int p,int v) {int x1;for(list_next* ihead;i!NULL;x,ii-next){if(x p)//找到第p个值 {i-valuev;//改值 break;}} } void head_del(list_next* head,int size) {head head-next;size--; } void del_node(list_next* head,int p,list_next* tail,int size) {if(p 1){head_del(head,size);return ;}int x1;for(list_next* ihead;i!NULL;ii-next,x){if(x p-1){if(p size)//如果删尾巴的话 {i-next NULL;//那么这个就是尾巴next是NULL tail i;//尾巴变成i break;}i-next i-next-next;break;}}size--; } 末尾 细心的小朋友会发现我再list.h还写了一个structmake_list这个结构体包含了一条链表所要的基本属性头尾长度所以我写了一个初始化函数 void init(list_make p,int v) {p.headnew list_next;p.tailnew list_next;p.head-value v;p.head-next NULL;p.tail p.head;p.size 1; } 最后listfun.h的代码应是 #includelist.h using namespace std; void head_add(list_next* head,int v,int size) {list_next* tmpnew list_next;tmp-valuev;tmp-nexthead;head tmp;size; } void tail_add(list_next* tail,int v,int size) {list_next* tmpnew list_next;tmp-valuev;tmp-nextNULL;tail - nexttmp;tail tmp;size; } void add_node(list_next* head,int p,int v,list_next* tail,int size) {if(p 0){head_add(head,v,size);} if(p size){tail_add(tail,v,size);return ;}list_next* tmpnew list_next;tmp-value v;int x1;for(list_next* ihead;i!NULL;ii-next,x){if(x p){tmp-next i-next;i-nexttmp;break;}}size; } void change(list_next* head,int p,int v) {int x1;for(list_next* ihead;i!NULL;x,ii-next){if(x p)//找到第p个值 {i-valuev;//改值 break;}} } void head_del(list_next* head,int size) {head head-next;size--; } void del_node(list_next* head,int p,list_next* tail,int size) {if(p 1){head_del(head,size);return ;}int x1;for(list_next* ihead;i!NULL;ii-next,x){if(x p-1){if(p size)//如果删尾巴的话 {i-next NULL;//那么这个就是尾巴next是NULL tail i;//尾巴变成i break;}i-next i-next-next;break;}}size--; } void init(list_make p,int v) {p.headnew list_next;p.tailnew list_next;p.head-value v;p.head-next NULL;p.tail p.head;p.size 1; } oh,对了 附上一句话和代码遍历链表元素时 for(list_next* ihead;i!NULL;ii-next) i就是当前链表的其中一个的元素
http://www.dnsts.com.cn/news/237676.html

相关文章:

  • 冀州做网站的公司自行网站建设费用预算
  • 网站开发公司挣钱吗建德网站
  • 门户网站建设和运行保证的磋商文件萝卜建站分类信息
  • 华米手表官方网站wordpress 会员插件
  • 网站建设邮箱免费自助建站江苏广兴建设集团网站
  • 网站用户注册怎么做嘉定网站设计制作报价
  • 响应式网站 分辨率企业vis
  • 河北建筑网站响应式衣柜网站
  • 家具网站设计网网站显示速度的代码
  • 郴州做网站的公司一个网站的建设需要什么东西
  • 网站运营推广难做吗网站备案后
  • 设计公司网站要包含什么信息微信代码生成器
  • 用vps做网站徐州做网站
  • wordpress网站语言网站空间2G一年多少钱
  • 网站备案几年备案一次商城图片
  • 汽车网站建设参考文献开题报告开发公司工程管理岗好还是设计岗好
  • 专门做图片的网站有哪些seo职业培训班
  • 柏乡县建设局网站比较好的企业网站
  • 一个月做网站响应式网站404页面怎么做
  • 平台网站建设哪家有wordpress如何去掉amp
  • 网站建设需要哪些硬件一重大连工程建设有限公司官方网站
  • asp.net创建项目和创建网站的区别推广网站怎么做知乎
  • 手机网站制作教程软件wordpress 海报
  • 没有网站能做淘宝客吗猎头网站模板
  • wordpress站点不被收录肇庆网站开发公司
  • 思勤传媒网站建设公司如何使用电子商务网站
  • 海口市住房和城乡建设局网站新型实体企业100强
  • 佛山建站怎么做容桂网站制作价格
  • 发卡网站建设7az电商网站建设模型图
  • 网站建设 媒体广告荆州网络推广