导航
  • 报考
  • 备考
  • 政策

报考

备考

复习资料

政策

行业动态

数据分析师课|数据分析师基础问题,关于数据双向链表操作方法,你会得到答案

环球网校·2020-02-19 16:06:00浏览45 收藏13

请输入下面的图形验证码

提交验证

预约成功

我知道了
摘要 在茫茫的数据发展长河中,人们慢慢掌握了数据处理的方法,其中重要的处理方法之一就是对数据的分析,所以出现了数据分析师这一处理数据的职业,有很多刚入职成为数据分析师的新人都会有数据分析的问题,今天就来讲讲数据双向链表操作方法的问题。

1、数据双向链表操作方法——双向链表删除节点

双链表删除结点时,只需遍历链表找到要删除的结点,然后将该节点从表中摘除即可。

例如,删除元素 2 的操作过程如图所示: 

双向链表删除节点的 C 语言实现代码如下:

//删除结点的函数,data为要删除结点的数据域的值

line * delLine(line * head,int data){

line * temp=head;

//遍历链表

while (temp) {

//判断当前结点中数据域和data是否相等,若相等,摘除该结点

if (temp->data==data) {

temp->prior->next=temp->next;

temp->next->prior=temp->prior;

free(temp);

return head;

}

temp=temp->next;

}

printf("链表中无该数据元素");

return head;

}

2、数据双向链表操作方法——双向链表查找节点

通常,双向链表同单链表一样,都仅有一个头指针。因此,双链表查找指定元素的实现同单链表类似,都是从表头依次遍历表中元素。

C 语言实现代码为:

//head为原双链表,elem表示被查找元素

int selectElem(line * head,int elem){

//新建一个指针t,初始化为头指针 head

line * t=head;

int i=1;

while (t) {

if (t->data==elem) {

return i;

}

i++;

t=t->next;

}

//程序执行至此处,表示查找失败

return -1;

}

3、数据双向链表操作方法——双向链表更改节点

更改双链表中指定结点数据域的操作是在查找的基础上完成的。实现过程是:通过遍历找到存储有该数据元素的结点,直接更改其数据域即可。

实现此操作的 C 语言实现代码如下:

//更新函数,其中,add 表示更改结点在双链表中的位置,newElem 为新数据的值

line *amendElem(line * p,int add,int newElem){

line * temp=p;

//遍历到被删除结点

for (int i=1; i

temp=temp->next;

}

temp->data=newElem;

return p;

}

以上就是有关于数据双向链表操作方法的相关内容,以及相应的解析,不论你是已经入职数据分析师岗位的新人,还是打算进入数据分析岗位的小白,以上的内容都或多或少会对大家有所帮助,环球网校的小编在这里祝大家的数据分析师职业道路顺利。

 

展开剩余
资料下载
历年真题
精选课程
老师直播

注册电脑版

版权所有©环球网校All Rights Reserved