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

简要说明网站制作的基本步骤温州如何进行网站推广

简要说明网站制作的基本步骤,温州如何进行网站推广,在网站中加入锚链接应该怎么做,网页版微信文件传输助手注&#xff1a;本文只探讨"带头结点"的情况(查找思路类似循环找到第i-1 个结点的代码) 一.按位查找&#xff1a; 1.代码演示&#xff1a; 版本一&#xff1a; #include<stdio.h> #include<stdlib.h> ​ ​ //定义单链表结点类型 typedef struct LNo…


注:本文只探讨"带头结点"的情况(查找思路类似循环找到第i-1 个结点的代码)

一.按位查找:

1.代码演示:

版本一:
#include<stdio.h>
#include<stdlib.h> 
​
​
//定义单链表结点类型
typedef struct LNode  
{int data; //每个结点存放一个数据元素struct LNode *next; //指针指向下一个结点      
}LNode,*LinkList;
​
​
//初始化一个单链表(带头结点)
bool InitList(LinkList &L)
{L = (LNode *)malloc( sizeof(LNode) ); //分配一个头结点if(L==NULL) //代表内存不足,分配失败-->意味着带头结点的单链表无法创建 {return false;}else{L -> next = NULL; //头结点之后暂时还没有节点,所以指向NULLreturn true; } 
} 
​
​
//判断单链表是否为空(带头结点)
bool Empty(LinkList L)
{if(L->next==NULL) //头结点之后如果指向NULL,代表没有数据 {return true;}else{return false;}
} 
​
​
//按位查找,返回第i个元素(带头结点即第0个结点)
LNode * GetElem(LinkList L,int i)
{if(i<0){return NULL;}LNode *p; //指针p指向当前扫描到的结点 int j=0; //当前p指向的是第几个结点:j为0代表头结点 p=L; //L指向头结点,头结点是第0个结点(不存数据)while(p!=NULL && j<i) //循环找到第i个结点 {p = p->next;j++;}  return p; 
} ​
int main()
{//声明一个指向单链表的指针LinkList L;//初始化一个空表InitList(L); return 0;
} 
版本二:王道书版本
#include<stdio.h>
#include<stdlib.h> 
​
​
//定义单链表结点类型
typedef struct LNode  
{int data; //每个结点存放一个数据元素struct LNode *next; //指针指向下一个结点      
}LNode,*LinkList;
​
​
//初始化一个单链表(带头结点)
bool InitList(LinkList &L)
{L = (LNode *)malloc( sizeof(LNode) ); //分配一个头结点if(L==NULL) //代表内存不足,分配失败-->意味着带头结点的单链表无法创建 {return false;}else{L -> next = NULL; //头结点之后暂时还没有节点,所以指向NULLreturn true; } 
} 
​
​
//判断单链表是否为空(带头结点)
bool Empty(LinkList L)
{if(L->next==NULL) //头结点之后如果指向NULL,代表没有数据 {return true;}else{return false;}
} 
​
​
//按位查找,返回第i个元素(带头结点即第0个结点)
LNode * GetElem(LinkList L,int i)
{int j=1; //代表p结点刚开始指向第一个结点(不是头结点) LNode *p=L->next;if(i==0){return L; //返回头结点 }if(i<1){return NULL;}while(p!=NULL && j<i) //循环找到第i个结点 {p = p->next;j++;}  return p; 
} ​
int main()
{//声明一个指向单链表的指针LinkList L;//初始化一个空表InitList(L); return 0;
} 

2.返回第0个元素即头结点:

3.返回的结点大于链表的长度:

while循环进行到第5次时p指向NULL,不满足下一次循环条件,跳出while循环,此时返回的p为NULL:代表查找失败

最终可知当i值不合法时即i为负数或者i值大于链表长度时最终都返回NULL,因此只需要判断返回结果是否为NULL即可

得知是否查找成功。

4.返回的结点在链表内:

a.计算时间复杂度需要要查找的元素在合法范围内。

b.平均时间复杂度是指此次输入的i值它取的合法范围内的任何一个数字的概率都等可能的情况,

具体的算法和顺序表的按位查找的分析方法一样。

5.封装:

案例一:GetElem用来获取第i个结点,传入参数i-1即可找到第i-1个结点

案例二:后插操作的加入

右下角的InsertNextNode函数中需要一个if(p==NULL)进行是否为空指针的判断,因为如果传入GetElem函数的i值不合法即i-1也不合法,会导致p为NULL即空指针:


二.按值查找:

1.代码演示:

按值查找操作只能从第一个结点开始循环依次向后查找:

#include<stdio.h>
#include<stdlib.h> 
​
​
//定义单链表结点类型
typedef struct LNode  
{int data; //每个结点存放一个数据元素struct LNode *next; //指针指向下一个结点      
}LNode,*LinkList;
​
​
//初始化一个单链表(带头结点)
bool InitList(LinkList &L)
{L = (LNode *)malloc( sizeof(LNode) ); //分配一个头结点if(L==NULL) //代表内存不足,分配失败-->意味着带头结点的单链表无法创建 {return false;}else{L -> next = NULL; //头结点之后暂时还没有节点,所以指向NULLreturn true; } 
} 
​
​
//判断单链表是否为空(带头结点)
bool Empty(LinkList L)
{if(L->next==NULL) //头结点之后如果指向NULL,代表没有数据 {return true;}else{return false;}
} 
​
​
//按值查找,找到数据域等于e的结点
LNode * LocateElem(LinkList L,int e)
{LNode *p= L->next; //L代表头结点,L->next就是第一个节点,此时p就是第一个结点 //从第一个结点开始查找数据域为e的结点(头结点不存数据,所以不从头结点开始)while(p != NULL && p->data != e){p = p->next;}//找到后返回该节点指针,否则返回NULLreturn p; 
} ​
int main()
{//声明一个指向单链表的指针LinkList L;//初始化一个空表InitList(L); return 0;
} 

平均时间复杂度为O(n)。

2.图解:

例一:

p为第一个节点,第一次循环时p不为NULL且p内部的值不为8,符合循环条件,指向p = p->next即向后指一个元素:

第二次循环时p内部的值为8,不符合循环条件,跳出while循环:

例二:

最终返回NULL,代表不存在数据域为6的结点。

3.如果要找的数据域元素不是基本数据类型如结构体类型,就需要复杂的判断:

如结构体(struct)类型要用到运算符"."访问每一个成员变量来比较。


三.求单链表的长度:


四.总结:


http://www.yayakq.cn/news/195489/

相关文章:

  • 做网站帮京东卖东西怎么合作wordpress 如何仿站
  • 怎么做死循环网站wordpress 音频播放器
  • 上海网站制作商全网营销实战培训
  • 网站开发mvc架构重庆营销型网站建设沛宣
  • 如何用微信打开微网站呼伦贝尔网站建设维护
  • 网站建设与管理课程设计如何发布自己的网站
  • 卖高仿名牌手表网站怎么用单位电脑做网站服务器
  • 陆金所 网站开发二部软件外包平台哪家好
  • 网站关键词优化推广深圳设计师品牌
  • 在学做网站还不知道买什么好wordpress 更换空间阿里云
  • cpa诱导网站怎么做做球衣外贸用什么网站
  • 网站策划书的主题有哪些html做网站的毕业设计
  • 搜索引擎主题网站模板宁波制作网站的公司
  • 盐城企业做网站网站的建设与颜色搭配
  • 描述建设一个网站的具体步骤创意活动策划网站
  • 联想网站建设预算报告书南阳市建设局网站
  • 怎样建设VR网站海外seo投放
  • 视频网站开发周期如何选择低价网站建设
  • 重庆建立公司网站小程序怎么运营推广
  • 泰安网上房地产北京做网络优化的公司
  • 建设网站审核做网站怎么套用模板
  • 搜网站关键词php注册网站源码带数据库
  • 怎样是做网站上海松江网站制作
  • 网站建设编写代码出错兰州微网站建设
  • 青岛做家纺的公司网站郑州做网站公司排名
  • 河北建设厅官方网站wordpress回收站+恢复
  • 网站运营托管方案保定市建设局安监网站
  • 建站公司哪家做出来的网站好最便宜的车
  • 高端网站开发制作seo云优化如何
  • 东莞做汽车有没有买票的网站wordpress 嵌套评论