更多"用二分查找法对一个长度为10的有序表进行查找,填写查找每一元素需要的比"的相关试题:
[单项选择]将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较()次。
A. 1
B. n-1
C. n
D. 2n
[简答题]【说明】
本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类 Node描述,而链表由List描述,类List的成员函数有以下几个:
creatList( ): 创建从小到大的有序链表。
multiplyList(List L1, Llst L2): 将链表L1和链表L2合并。
print( ): 打印链表。
【C++代码】
#include <iostream>
using namespace std;
class List;
class Node{
friend class List;
public:
Node(int data){
(1) ;
}
private:
int data;
Node *next;
};
class List{
public:
List( ){list=NULL;}
void multiplyList(List L1, List L2);
void creatList( );
void print( );
private:
Node *list;
};
void List::creatList( )
{
Node *p, *u, *pre;
int dara;
list=NULL;
wbile(1){
cout<<"输入链表的一项: (小于零,结束链表) "<<endl;
cin>>data;
if(dara<0)break;//小于零,结束输入
p=list;
while(p !=NULL && dara>p->data){//查找插入点
pre=p;
p=p->next;
}
u= (2) ;
if(p==list)list=u;
else pre->next=u;
(3) ;
}
}
void List::multipl
[多项选择]【说明】
本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类 Node描述,而链表由List描述,类List的成员函数有以下几个:
creatList( ): 创建从小到大的有序链表。
multiplyList(List L1, Llst L2): 将链表L1和链表L2合并。
print( ): 打印链表。
【C++代码】
#include <iostream>
using namespace std;
class List;
class Node
friend class List;
public:
Node(int data)
(1) ;
private:
int data;
Node *next;
;
class List
public:
List( )list=NULL;
void multiplyList(List L1, List L2);
void creatList( );
void print( );
private:
Node *list;
;
void List::creatList( )
Node *p, *u, *pre;
int dara;
list=NULL;
wbile(1)
cout<<"输入链表的一项: (小于零,结束链表) "<<endl;
cin>>data;
if(dara<0)break;//小于零,结束输入
p=list;
while(p !=NULL && dara>p->data)//查找插入点
pre=p;
p=p->next;
u= (2
[简答题]【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类Node描述,而链表由类List描述。类List的成员函数有以下几个。
①createList( ):创建从小到大的有序链表。
②multiplyList(List L1,List L2):将链表L1和链表L2合并。
③print( );打印链表。
# include <iostream.h>
class List;
class Node
friend class List;
public:
Node(int data)
(1) ;
private:
int data;
Node *next;
;
class List
public:
List( ) list = NULL;
void multiplyList(List L1, List L2);
void createList( );
void print( );
private:
Node *list;
;
void List::createList( )
Node *p, *u, *pm;
int data;
list = NULL;
while (1)
cout<<"输入链表的一项: (小于零,结束链表)"<<end1;
cin >> data;
if(data<0)break; //小于零,结束输入
p = list;
while (p != NULL && data > p->data) //查找插入点
pre = p;
p = p->next;
u= (2) :
if(p==list)
lis
[填空题]在顺序表(6,10,16,18,25,28,30,48,50,52)中,用二分查找法查找关键码值20,则需要进行关键码比较次数为______。