数据结构之线性表(单链表二),互联网寒冬公司倒闭后
3、当p指向扫描到下一个节点时,计数器j加1;
当j==i时,p所指的结点就是我们要找的第i个结点。
//取单链表中第i个元素的内容
int getElem(LinkList L,int i,ElemType &e){
LinkList p;
p=L->next; //初始化
int j=1;
while(p!=NULL&j<i){ //向后扫描,直到p指向第i个元素或p为空
p=p->next;
j++;
}
if(p==NULL||i<=0)
return -1;
e=p->data; //取第i个元素
return e;
}
3、按值查找
算法步骤:
1、从第一个结点开始,依次和e(e就给定的那个值)相比较;
2、如果找到一个其值域e相等的数据元素,则返回其在链表中的“位置(逻辑序号)”或地址;
3、如果查遍整个链表都没有找到其值和e相等的元素,则返回0或“NULL”。
3.1根据指定数据获取该数据的地址
LNode *locateElem(LinkList L,ElemType e){
//在线性表L中查找值为e的数据元素
//找到。则返回L中值为e的数据元素的地址,查找失败,则返回NULL
LinkList p;
p=L->next;
while(p!=NULL&&p->data!=e){
p=p->next;
}
return p;
}
3.2根据指定数据获取该数据的逻辑序号
//在线性表L中查找值为e的数据元素的逻辑序号
//返回L中值为e的数据元素的逻辑序号,查找失败返回0
int locateElem(LinkList L,ElenType e){
LinkList p;
int j=1;
p=L->next;
while(p!=NULL&&p->data!=e){
p=p->next;
j++;
}
if(p!=NULL)
return j;
else
return 0;
}
4、在第i个元素之前插入数据元素e
算法步骤:
1、先在单链表L中查找第i-1个结点,若没有找到,则返回0;找到了用p指针指向该结点。
2、创建一个数据域为e的新结点s。
3、插入新结点:(1)将新结点s的next域指向位置为i的结点;(2)将位置为i-1(结点p)的next域指向新结点s。
(1)s->next=p->next; (2)p->next=s;
int insertList(LinkList &L,int i,ElemType e){ //插入值为e的结点
LinkList p,s;
p=L;
int j=0;
while(p!=NULL&&j<i-1){ //查找第i-1个结点
j++;
p=p->next;
}
if(p==NULL||i<=0) //没有找到时返回0
return 0;
else{
s=(LinkList)malloc(sizeof(LNode));
s->data=e; //创建存放元素e的新结点s
s->next=p->next;
p->next=s;
return 1; //插入成功,返回1
}
}
5、将线性表L中第i个数据元素删除
算法步骤:
1、先在单链表L中查找第i-1个结点,若没有找到则返回0,找到了由指针p指向该结点;
2、让指针q指向p的后继结点(也就是要删除的结点),若q指的结点为空则返回0;
3、p->next=q->next; free(q);
//删除第i个数据元素
int delElem(LinkList &L,int i,ElemType &e){
LinkList p,q;
p=L;
int j=0;
while(p->next!=NULL&&j<i-1){ //查找第i个结点
j++;
p=p->next;
}
if(p->next==NULL||i<=0)
return 0;
else{
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》
熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》
[外链图片转存中…(img-5Zygbyma-1711864809487)]
[外链图片转存中…(img-79c2JTai-1711864809487)]
[外链图片转存中…(img-dUMUDkhb-1711864809488)]
更多推荐
所有评论(0)