笔果题库
数据结构
VIP题库
搜题找答案,就上笔果题库
单链表类型定义如下: typedefstructnode{ DataTypedata; structnode*next; }ListNode; typedefListNode*LinkList; 阅读下列算法,并回答问题: voidf30(LinklListhead,DataTypex) {//head是带头结点的非空单链表的头指针 ListNode*P,*q; p=head; while(P一>next一>next) p=p一>next; q=(ListNode*)malloc(sizeof(ListNode)); q一>data=x; q一>next=p一>next; p一>next=q; } (1)该算法的功能是什么? (2)若单链表的长度为n,算法的时间复杂度是多少?该时间复杂度和链表的初始状态 有关吗?
搜题找答案,就上笔果题库
在一个长度为n的顺序表中删除第i个元素,需要向前移动______个元素。
搜题找答案,就上笔果题库
已知由单链表表示的线性表中,含有三类字符的数据元素(如:字母字符、数字字符和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含同一类的字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。
搜题找答案,就上笔果题库
顺序表便于()
搜题找答案,就上笔果题库
对于一个非空的线性表,以下关于其逻辑结构特征的描述,错误的是()
搜题找答案,就上笔果题库
顺序表的存储空间是_____分配的,在应用程序执行之前必须给定空间大小。
搜题找答案,就上笔果题库
对于一采用顺序存储结构的线性表,假设其初始地址为O,每个元素占据3个存储单元,那么该线性表的第8个元素的地址为_____。
搜题找答案,就上笔果题库
一个长度为n的顺序表中,在第i个元素(1≤i≤n)之前插入一个新元素时需向后移动()个元素。
搜题找答案,就上笔果题库
阅读以下算法,回答问题。 voidunion(LinkListLa,LinkListLb) { LinkListpre=La,q; LinkListpa=La一>next; LinkListpb=Lb一>next; free(Lb); while(pa&&pb) { if(pa一>data<pb一>data) {pre=pa;pa=pa一>next;} elseif(pa一>data>pb一>data) { pre一>next—pb pre=pb; pb=pb一>next; pre一>next=pa; } else { q=pb;pb=pb一>next;free } } if(pb) pre一>next=pb } (1)当La=(2,3,5,7,9),Lb=(1,2,3,4)执行上述程序后,La为多少? (2)请简述该算法的功能。
搜题找答案,就上笔果题库
顺序表类型定义如下: #deftneListSize100 typedefstruct{ intdata[ListSize]; intlength; }SeqList; 阅读下列算法,并回答问题: voidt30(SeqList*L) {inti,j; i=0; while(i<L一>length) if(L一>data[i]%2!=0) {for(j=i+1;j<L一>length;j++} L一>data[j一1]=L一>data[j]; L一>length--; } elsei++ } (1)若L一>data中的数据为(22,4,63,0,15,29,34,42,3),则执行上述算法后L一>da.ta中的数据以及L一>length的值各是什么? (2)该算法的功能是什么?