c语言中线性表比链表多空间,第02章线性表(c语言).ppt

第02章线性表(c语言)

练习 已知单链表A长度为m,单链表B长度为n,若将B联接在A的末尾,其时间复杂度应为( ) 。 A.O(1) B.O(m) C.O(n) D.O(m+n) 链表不具有的特点是( )。 A.可随机访问任一元素 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与线性表长度成正比 在需要经常查找结点的前驱与后继的场合中,使用(????? )比较合适。 A.单链表???? B.双链表????C.顺序表??? D.循环链表 在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行( )。 ????A.p?=?q->next?;??p->next?=?q->next; ????B.p?=?q->next?;??q->next?=?p; ????C.p?=?q->next?;??q->next?=?p->next; ????D.q->next?=?q->next->next;??q->next?=?q; 若要在单链表中的结点p之后插入一个结点s,则应执行的语句是( )。 A.s->next=p->next; p->next=s; B.p->next=s; s->next=p->next; C.p->next=s->next; s->next=p; D.s->next=p; p->next=s->next; 假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为 ( )。 A.front==NULL B.front!=NULL C.rear!=NULL D.front= =rear 在( )运算中,使用顺序表比链表好。 ?A.插入 ? B.删除 ? C.根据序号查找 ?D.根据元素值查找 带头结点的单链表head为空的判断条件是(????? )。 A.head= =NULL? ?B.head->next= =NULL C.head->next=head? D.head!=NULL 在链表中进行插入和________操作的效率比在顺序存储结构中进行相同操作的效率高。 函数功能: 对以带头结点的单链表作为存储结构的两个递增有序表(表中不存在值相同的数据元素)进行如下操作:将所有在Lb表中存在而La表中不存在的结点插入到La中,其中La和Lb分别为两个链表的头指针。 要求:请在空缺处填入合适内容,使其成为一个完整的算法。  void?union?(LinkList?La,?LinkList?Lb){??//本算法的功能是将所有Lb表中存在而La表中不存在的结点插入到La表中??LinkList?pre?=?La,?q;??LinkList?pa?=?La?->?next;??LinkList?pb?=?Lb?->?next;??free?(Lb);? ?while?(pa?&&?pb)??{?? if?(pa?->?data??data)?? {??pre?=?pa;?pa?=?pa?->?next;}?? else ?if?(pa?->?data?>?pb?->data)?? {?????????? (1)???????; ??? ?pre?=?pb; ???? pb?=?pb?->?next; ?????????? (2)???????;?? }?? else?? {???? q?=?pb;?pb?=?pb?->?next;?free?(q);?? }?? } ?if?(pb)???????(3)?????????; } 一元多项式的实现: typedef struct { // 项的表示 float coef; // 系数 int expn; // 指数 } term, ElemType; // 用带表头结点的有序链表表示多项式 typedef OrderedLinkList polynomial; 结点的数据元素类型定义为: Status LocateElem(LinkList L, ElemType e, Position &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值