数据结构
当前位置:
首页
>
学历类
>
大学试题
>
计算机科学类
> 数据结构
搜索
[填空题]函数实现单链表的插入算法,请在空格处将算法补充完整。int ListInsert(LinkList L,int i,ElemType e){ LNode *p,*s;int j; p=L;j=0; while((p!=NULL)&&(j
next;j++; } if(p==NULL||j>i-1) return ERROR; s=(LNode *)malloc(sizeof(LNode)); s->data=e; (1) ; (2) ; return OK;}/*ListInsert*/
[简答题]已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为(a1,a2,a3,a4,…,an),A为指向空的顺序表的指针。阅读以下程序段,并回答问题:(1)写出执行下列程序段后的顺序表A中的数据元素;(2)简要叙述该程序段的功能。if(head->next!=head){p=head->next;A->length=0;while(p->next!=head){p=p->next;A->data[A->length++]=p->data;if(p->next!=head)p=p->next;}}
[填空题]函数ListDelete_sq实现顺序表删除算法,请在空格处将算法补充完整。int ListDelete_sq(Sqlist *L,int i){ int k; if(i<1||i>L->length) return ERROR;for(k=i-1;k
length-1;k++) L->slist[k]= (1) ; (2) ; return OK;}
[判断题]在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理位置上不一定是相邻的。
[填空题]设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。
[填空题]写出带头结点的双向循环链表L为空表的条件()。
[判断题]链式存储的线性表可以随机存取
[判断题]用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。
[填空题]带头结点的单链表head为空的条件是()。
[填空题]函数GetElem实现返回单链表的第i个元素,请在空格处将算法补充完整。 int GetElem(LinkList L,int i,Elemtype *e){ LinkList p;int j;p=L->next;j=1; while(p&&j
i) return ERROR;*e= (2) ;return OK;}
[填空题]写出算法的功能。int L(head){ node * head; int n=0; node *p; p=head; while(p!=NULL) { p=p->next; n++; } return(n); }
[判断题]顺序存储方式只能用于存储线性结构。
[填空题]线性表的逻辑结构是(),其所含元素的个数称为线性表的()。
[简答题]设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。
[填空题]函数实现单链表的删除算法,请在空格处将算法补充完整。int ListDelete(LinkList L,int i,ElemType *s){ LNode *p,*q; int j; p=L;j=0; while(( (1) )&&(j
next;j++; } if(p->next==NULL||j>i-1) return ERROR; q=p->next; (2) ; *s=q->data; free(q); return OK;}/*listDelete*/
[填空题]在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q=p->next;p->next=();
[简答题]编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。
[简答题]有两个循环链表,链头指针分别为L1和L2,要求写出算法将L2链表链到L1链表之后,且连接后仍保持循环链表形式。
[判断题]在具有头结点的单链表中,头指针指向链表的第一个数据结点。
[简答题]编写算法,实现带头结点单链表的逆置算法。
<<
<
3
4
5
6
7
>
>>
相关试卷: