更多“在带头结点的单链表L中,删除所有值为x的结点,假设值为x的结…”相关的问题
第1题
在带头结点的单链表L中,删除所有值为x的结点,假设值为x的结点不唯一,试编写算法以实现上述操作。
点击查看答案
第2题
删除带头结点单链表L中所有值为X的结点。
点击查看答案
第3题
试写一算法将单链表中所有值为x的结点删除,返回被删除结点的个数,假设单链表中数据元素类型为整型。
点击查看答案
第4题
假设带头结点的单链表L是升序排列的,将值为x的结点插入到链表L中,并保持链表有序性。
点击查看答案
第5题
【2-2】下面算法的功能是:删除单链表L中第一个值为x的结点。请在空白处填入正确的语句。 int delx(LinkList &L, ElemType x) { LinkList pre = L, ______①______; //pre 指向p 的前驱结点 while(p != NULL && p->data != x) { ______②_______; p = p->next; //pre、 p 同步后移一个结点 } if(p != NULL) { //找到值为 x的p结点 _________③________; _________④_________; return 1; } else return 0; //未找到值为 x 的结点 }
点击查看答案
第6题
【2-3】下面算法的功能是:删除单链表L含两个或两个以上的数据结点中第一个值为x的结点的前驱结点。请在空白处填入正确的语句。 int delfirstx(LinkList &L, ElemType x) { LinkList prepre = L, pre = prepre->next, p; if(_______①________) return 0; p = _______②________; while(p != NULL && ________③______) { // 找到值为x结点 ________④_______; pre = p; p = p->next; //prepre、 pre、 p 同步后移一个结点 } if(p != NULL) { // 找到值为 x的p 结点 prepre->next = p; //删除pre 结点 _______⑤________; //释放pre 结点空间 return 1; //成功删除返回 1
点击查看答案
第7题
【论述题】试编写在带头结点的单链表L中删除(一个)最小值结点的(高效)算法。
点击查看答案
第8题
在长度为n(n>1)的 上,删除第一个元素,其算法的时间复杂度为O(n)。
A.只有首结点指针h的不带头结点的循环单链表
B.只有尾结点指针r的不带头结点的循环单链表
C.只有尾结点指针r的带头结点h的循环单链表
D.只有头结点h的循环单链表
点击查看答案
第9题
在一个长度为n(n>l)的带头结点的单链表L上,另设有尾指针r(指向尾结点),执行()操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的尾结点
C.在单链表第一个元素前插入一个新结点
D.在单链表最后一个元素后插入一个新结点
点击查看答案