每日算法篇-22王道数据结构
“近期做什么感觉都很有动力,想做与做,真的是两个东西,当你想到一个东西,立马安排时间实践它在,而不是只是过一遍脑子,第二天真的有可能一点都不记得,我那种只会想不会动的那种人,我曾经也想过做很多很多项目,到大三上学期快结束了,还是啥也不会,坚持吧,总会有结果的。”——努力成为程序员的耿耿(2021/10/28)
题目
在带头结点的单链表L中,删除所有值为x的节点并释放其空间,假设值为x的节点不唯一,试编写算法实现上述操作。22王道数据结构线性表的链式表示
思考: 用两个节点进行,一个表示前驱,一个指向判断的节点,从头节点开始遍历整个列表,比对每个数据域的值与给的x比较,若相等删除,切记要释放该节点的空间
void Del_x(LinkList &x,Elemtype x){
LNode *p=L->next,*pre=L,*q;
while(*p!=NULL){
if(p->data==x){
q=p;
p=p->next;
pre->next=p;
free(q);
}
else{
pre=p;
p=p->next;
}
}
}
做了加到蓝桥真题,发现很多算法都想不到,就是还是要有数据结构的基础,一些算法还是要掌握(小声逼逼,昨天看了一个题,是搜索算法,然后我脑子就是空白根本不知道是啥别说怎么写了,所以决定还是从算法开始,回归数据结构,等之后再说真题吧)
|