更多"以下为求单链表表长的运算,分析算法,请在______处填上正确的语句。"的相关试题:
[填空题]以下为单链表按序号查找的运算,分析算法,请在______处填上正确的语句。
pointer find_lklist(1klist head,int i)
{ p=head;j=0;
while(______)
{ p=p—>next;j++;}
if(i==j)return(p);
else return(NULL);
}
[填空题]以下为单链表的定位运算,分析算法,请在______处填上正确的语句。
int locate_iklist(1klist head,datatype x)
/*求表head中第一个值等于x的结点的序号。不存在这种结点时结果为0*/
{ p=head;j=O;
while(______){p=p—>next;j++;}
if(p—>data==x)return(j);
else{return(0);
}
[填空题]以下为顺序表的插入运算,分析算法,请在______处填上正确的语句。
void insert_sqlist(sqlist L,datatype x,int i)/*将X插人到顺序表L的第i-1个位置*/
{ if(L.1ast==maxsize)error("表满");
if((i<1)||(i>L.last+1))error("非法位置");
for(j=L.last;j≥i;j--)
L.data[i-]=X;
L.last=L.last+1;
}
[简答题]在下划线处填上缺少的部分。
#include<iostream.h>
class A
int a,b;
public:
______//定义构造函数,使参数i和j的默认值为0
a=i;b=j;//在函数体中用i初始化a,用j初始化b
;
main( )
A*p;
______;//调用带参构造函数生成由p指向的动态对象
//使a和b成员分别被初始化为4和5
[填空题]
以下程序的功能是判断输入的整数是否是素数,试在程序空白处填上适当的内容。
Main( )
{
int m,i;
scan("%d",&m);
for(i=2;i<m;i++)
if(m%i==0)
();
if(i<m)
prind("%d是素数/n",m);
else
prind("%d不是素数/n,",m);
}
[填空题]算法执行过程中,所需要的基本运算次数称为算法的 【1】 。
[填空题]在算法执行过程中所需要的基本运算次数称为算法的 【4】 复杂度。
[简答题]
设有单链表类型定义如下: typedef struct node { int data; struct node *next; } *LinkList; 阅读下列算法,并回答问题: void f33(LinkList head, int A, int B) { LinkList p=NULL; While (head !=NULL) { if (head->data>A&&head->datanext; } if (p !=NULL) printf("%d/n",p->data); }
简述算法f33的功能。
[简答题]设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
[简答题]试以单链表为存储结构设计实现简单选择排序的算法。
[简答题]请编写一个函数int sum(int n),该函数完成1+2+3+…+n的运算,并返回运算结果,其中n>0。注意:请使用递归算法实现该函数。
注意:部分源程序已存在文件:test11.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件test11_2.cpp的内容如下:
#include<iostream.h>
int sum(int n)
void main( )
int n;
cout<<"输入n:";
cin>>n;
int result;sum(n);
cout<<"结果为:"<<result<<endl;
[填空题]对于算法的分析,主要分析算法所占用计算机的资源,即______和空间代价两方面。
[简答题]阅读下面的算法:
LinkList mynote(LinkList L)//L是不带头结点的单链表的头指针
if(L&&L->next)
q=L;L=L->next; p=L;
S1: while(p->next); p=p->next;
S2: p->next=q; q->next=NULL;
return L;
请回答下列问题:
说明语句S2的功能。