数据结构之线性表专题
答案:2 悬赏:60
解决时间 2021-11-08 22:37
- 提问者网友:前事回音
- 2021-11-08 19:08
、算法阅读题:1(10.1).假设以带头结点的单链表表示线性表,阅读下列算法f30,并回答问题:(1) 设线性表为( a1, a2, a3, a4, a5, a6, a7 ), 写出执行算法f30后的线性表;(2) 简述算法f30的功能。 void f30(LinkList L){//L为带头结点单链表的头指针LinkList p,q;P =L;while (p &&p–>next){q = p–>next;p–>next =q–>next;p =q–>next;free(q); }}(1)(2)
最佳答案
- 二级知识专家网友:我的任性你不懂
- 2021-11-08 19:39
(1)线性链表中的节点为a1,a3,a5,a7;(2)功能是删除节点是为奇数的节点,算法分析,while(p&&p->next)//当头节点和下一个节点不为空q=p->next//将P节点指针域中的地址保存在q中p->next=q->next;这里相当于q=q->next;将下一节点的地址赋给q,p->q->next;//将q->next的地址赋给头节点p,释放q的内存,就这样了,,说的可能不好,,但我也不知道怎么解释好,结果只有60%把握正确,很久没看过数据结构了,
全部回答
- 1楼网友:而你却相形见绌
- 2021-11-08 20:46
线性表是一种数据元素有序的逻辑结构,通常采用顺序存储结构和链式存储结构。线性表采用顺序存储结构时,有利用线性表长度的计算、线性表数据元素的存取和数据元素的遍历,同时也从物理结构上反映了线性表数据元素的逻辑结构,有点类似于c语言中的数组,但是采用顺序存储结构时,插入和删除数据元素时,要移动较多的数据元素;采用链表结构存储的线性表,克服了插入和删除数据元素时要移动较多元素的缺点,其只要寻找到需要插入和删除的数据元素处,处理相应的指针就可以实现数据元素的插入和删除,同时也和顺序存储的线性表一样方便遍历,但是其不利于计算线性表的长度,线性表的链表存储结构有以下几种常见类型:采用带头指针和头结点的单链表、采用仅带头指针的单链表、带头指针和头结点的循环链表、带头指针和尾结点的循环链表、双向链表等形式。在实际应用中,结合顺序表易于计算表长和链表易于插入和删除的特点,实际一般采用两者结合的一种单链表,其链表类型为带有头指针(含头结点)和尾指针,以及含有线性表长度的分量,在一元多项式的运算中采用的就是这种链式存储结构。此外,还有一种一般应用于无指针的高级语言中的静态单链表的存储结构。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯