单项选择题

在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。

A.0(n)
B.0(2)
C.0(log2n)
C.0(nlog2n)

热门 试题

问答题
请使用VC6或使用[答题] 菜单打开考生文件夹proj1下的工程proj1,此工程中包含一个源程序文件main. cpp,其中有类Book(“书”)和主函数main的定义。程序中位于每个“ ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: 书名:C++语句程序设计总页数:299 已把“C++语言程序设计”翻到第50页 已把“C++语言程序设计”翻到第51页 已把“C++语言程序设计”翻到第52页 已把“C++语言程序设计”翻到第51页 已把书合上。 当前页:0 注意:只修改每个“ ERROR****found****”下的那一行,不要改动程序中的其他内容。 #include < iostream > using namespace std; class Book char * title ; int hum_pages; 页数 int cur_page; 当前打开页面的页码,0表示书未打开 public : ERROR ********** found ********** Book ( const char * theTide, int pages) num_pages (pages) tide = new char[ strlen(theTifle) + 1 ] ; strcpy ( tide, theTitle ) ; cout << endl << 书名: << title << 页面数: << num_pages ; ~Book() delete []title; bool isClosed () const return cur_page == 0 ; 书合上时返回true,否则返回false bool isOpen()const return ! isClosed() ; 书打开时返回true,否则返回false int numOfPages () const return num_pages ; 返回书的页数 int currentPage()const return cur_page; 返回打开页面的页码 ERROR ********** found ********** void openAtPage(int page_no) const 把书翻到指定页 cout << endl ; if( page_no < 1 || page_no > num_pages) cout << 无法翻到第 << cur_page << 页。 ; close () ; else cur_page = page_no ; cout << 已把 << title << 翻到第 << cur page << 页 ; void openAtPrevPage() openAtPage(cur_page - 1); 把书翻到上一页 void openAtNextPage() openAtPage(cur_page + 1 ) ; 把书翻到下一页 void close() 把书合上 cout << endl ; if( isClosed() ) cout << 书是合上的。 ; else ERROR ********** found ********** num_pages = 0 ; cout << 已把书合上。 ; cout << endl; ; ; int main() Book book( C ++ 语言程序设计 , 299) ; book. openAtPage (50) ; book. openAtNextPage () ; book. openAtNextPage () ; book. openAtPrevPage () ; book. close () ; cout << 当前页: << book. currentPage() << endl; return 0 ;