C++考试题库及完整答案_第1页
C++考试题库及完整答案_第2页
C++考试题库及完整答案_第3页
C++考试题库及完整答案_第4页
C++考试题库及完整答案_第5页
已阅读5页,还剩37页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++考试题库及完整答案一、单项选择题(本大题共20小题,每小题1分,共20分)1.在C++中,以下哪个关键字用于声明一个类的私有成员?A.publicB.protectedC.privateD.internal参考答案:C解析:C++中类的成员默认为私有(private),使用private关键字显式声明。public和protected分别声明公有和保护成员,internal是C#关键字,C++无此概念。本题考查类成员访问控制的基础知识,需掌握不同访问修饰符的默认行为及显式声明方式。2.以下哪个运算符用于判断两个指针是否指向同一内存地址?A.==B.!=C.<=>D.==或!=参考答案:D解析:C++中判断指针是否相等需使用==或!=运算符。C++11引入了spaceship运算符(<=>),但仅用于比较非指针类型。指针比较本质上是地址值的比较,而非值比较。本题考察指针基础操作,需区分指针与普通变量的比较方式。3.在C++中,以下哪种方式可以正确初始化一个三维数组?A.intarr[2][3][4]={};B.intarr[][3][4]={1,2,3};C.intarr[2][3]={1,2,3};D.intarr[2][3][4]={{1,2},{3,4}};参考答案:A解析:A选项使用零初始化声明三维数组,语法正确。B选项缺少外层维度大小,C选项维度不匹配,D选项初始化方式错误。本题考查多维数组声明与初始化规则,需掌握不同维度数组的定义方式及初始化语法。4.以下哪个函数是C++标准库中用于动态分配内存的函数?A.malloc()B.free()C.newD.delete参考答案:C解析:new是C++的动态内存分配操作符,返回指向分配内存的指针。malloc()是C语言函数,free()是C语言释放内存函数,delete是C++的内存释放操作符。本题考察C++内存管理机制,需区分C与C++的内存操作方式。5.在C++中,以下哪个关键字用于声明一个引用变量?A.refB.&C.constD.->参考答案:B解析:C++中引用用&声明,如inta=5;int&b=a;。ref是C#关键字,const用于常量声明,->是成员访问运算符。本题考查引用基础概念,需掌握引用的定义与使用场景。6.以下哪个模板特性允许函数根据参数类型自动推导返回类型?A.函数重载B.模板特化C.模板默认参数D.函数模板参考答案:D解析:函数模板是C++泛型编程的基础,允许根据参数类型自动推导返回值类型。函数重载通过参数列表区分同名函数,模板特化是针对特定类型重写模板,默认参数提供参数默认值。本题考察模板基础概念,需区分模板相关特性。7.在C++中,以下哪个关键字用于声明一个静态成员变量?A.staticB.constC.volatileD.extern参考答案:A解析:static用于声明静态成员变量,其生命周期跨越所有对象实例。const声明常量,volatile表示变量可能被外部修改,extern用于声明外部变量。本题考查静态成员特性,需掌握静态成员与普通成员的区别。8.以下哪个标准库容器最适合实现快速插入和删除操作?A.vectorB.listC.mapD.array参考答案:B解析:list是基于双向链表的容器,支持O(1)时间复杂度的插入删除操作。vector基于动态数组,插入删除效率受限于元素移动成本。map基于红黑树,支持快速查找但插入删除较慢。array是固定大小数组。本题考查容器性能特性,需掌握不同容器的实现原理。9.在C++中,以下哪个操作符用于解引用指针?A.B.->C..D.::参考答案:A解析:是解引用运算符,用于获取指针指向的值。->用于访问指针指向对象的成员,.用于直接访问对象成员,::是作用域解析运算符。本题考查指针操作基础,需掌握解引用与成员访问的区别。10.以下哪个关键字用于声明一个虚函数?A.virtualB.overrideC.finalD.abstract参考答案:A解析:virtual用于声明虚函数,允许在派生类中重写。override用于显式声明重写虚函数,final禁止进一步重写,abstract声明抽象类。本题考查虚函数特性,需掌握虚函数与多态机制。11.在C++中,以下哪个操作符用于动态分配数组内存?A.new[]B.malloc()C.new()D.delete[]参考答案:A解析:new[]用于动态分配数组内存,delete[]用于释放数组内存。malloc()是C语言函数,new()是单对象分配。本题考查动态内存分配,需区分数组与单对象的分配方式。12.以下哪个标准库算法用于对容器元素进行排序?A.sort()B.reverse()C.find()D.copy()参考答案:A解析:sort()是标准库排序算法,reverse()反转元素顺序,find()查找元素,copy()复制元素。本题考查标准算法库,需掌握常用算法的功能与用法。13.在C++中,以下哪个关键字用于声明一个常量表达式?A.constB.staticC.externD.inline参考答案:A解析:const用于声明常量,static用于静态变量,extern声明外部变量,inline建议编译器内联函数。本题考查常量声明,需掌握不同关键字的作用域与生命周期。14.以下哪个操作符用于指向成员函数?A.B.->C..D.->参考答案:D解析:->用于访问指针指向对象的成员,->用于解引用成员函数指针。.是C++11的成员函数调用运算符。本题考查成员访问运算符,需掌握不同运算符的适用场景。15.在C++中,以下哪个关键字用于声明一个模板类?A.templateB.classC.structD.template<>参考答案:A解析:template是模板关键字,class和struct是类声明关键字,template<>是模板特化。本题考查模板基础,需掌握模板声明与使用的区别。16.以下哪个标准库容器支持快速随机访问?A.listB.dequeC.vectorD.set参考答案:C解析:vector基于动态数组,支持O(1)随机访问。list基于双向链表,deque支持两端操作但随机访问较慢。set基于红黑树,不支持随机访问。本题考查容器性能特性,需掌握不同容器的数据结构。17.在C++中,以下哪个操作符用于声明成员函数重载?A.=B.[]C.()D.->参考答案:C解析:()是函数调用运算符,用于函数重载。=是赋值运算符,[]是下标运算符,->是成员访问运算符。本题考查函数重载机制,需掌握重载的原理与规则。18.以下哪个标准库算法用于合并两个有序序列?A.merge()B.sort()C.reverse()D.unique()参考答案:A解析:merge()合并两个有序序列,sort()排序,reverse()反转,unique()去重。本题考查标准算法库,需掌握合并算法的功能与用法。19.在C++中,以下哪个关键字用于声明一个内联函数?A.inlineB.staticC.externD.virtual参考答案:A解析:inline建议编译器内联函数,static用于静态成员,extern声明外部变量,virtual声明虚函数。本题考查函数特性,需掌握内联函数的作用与限制。20.以下哪个标准库容器支持关联存储?A.vectorB.listC.mapD.queue参考答案:C解析:map基于红黑树,支持键值对存储。vector和list是序列容器,queue是队列容器。本题考查容器类型,需掌握关联容器的特性。二、填空题(本大题共10小题,每小题2分,共20分)1.在C++中,用于声明引用的关键字是__________。参考答案:&解析:C++中引用用&声明,如inta=5;int&b=a;。本题考查引用基础概念,需掌握引用的定义方式。2.C++中用于动态分配内存的操作符是__________。参考答案:new解析:new是C++的动态内存分配操作符,返回指向分配内存的指针。本题考查内存管理基础,需掌握动态内存分配机制。3.C++中用于声明虚函数的关键字是__________。参考答案:virtual解析:virtual用于声明虚函数,允许在派生类中重写。本题考查虚函数特性,需掌握虚函数与多态机制。4.C++中用于声明静态成员变量的关键字是__________。参考答案:static解析:static用于声明静态成员变量,其生命周期跨越所有对象实例。本题考查静态成员特性,需掌握静态成员与普通成员的区别。5.C++中用于解引用指针的操作符是__________。参考答案:解析:是解引用运算符,用于获取指针指向的值。本题考查指针操作基础,需掌握解引用与成员访问的区别。6.C++中用于声明模板类的关键字是__________。参考答案:template解析:template是模板关键字,用于声明泛型类或函数。本题考查模板基础,需掌握模板声明与使用的区别。7.C++中用于指向成员函数的操作符是__________。参考答案:->解析:->用于访问指针指向对象的成员函数。本题考查成员访问运算符,需掌握不同运算符的适用场景。8.C++中用于声明常量表达式的关键字是__________。参考答案:const解析:const用于声明常量,其值在编译时确定。本题考查常量声明,需掌握不同关键字的作用域与生命周期。9.C++中用于合并两个有序序列的标准库算法是__________。参考答案:merge()解析:merge()合并两个有序序列,sort()排序,reverse()反转。本题考查标准算法库,需掌握合并算法的功能与用法。10.C++中支持关联存储的标准库容器是__________。参考答案:map解析:map基于红黑树,支持键值对存储。本题考查容器类型,需掌握关联容器的特性。三、判断题(本大题共10小题,每小题2分,共20分)1.在C++中,引用必须初始化且不能改变。参考答案:正确解析:引用必须与对象绑定且绑定后不能改变,如inta=5;int&b=a;b=10;会导致a也变为10。本题考查引用特性,需掌握引用的不可变性。2.C++中的动态内存分配必须手动释放,否则会导致内存泄漏。参考答案:正确解析:C++使用new分配内存,必须用delete释放,否则会导致内存泄漏。本题考查内存管理,需掌握动态内存的释放机制。3.C++中的虚函数可以在基类中实现。参考答案:正确解析:虚函数可以在基类中实现,也可以在派生类中重写。本题考查虚函数特性,需掌握虚函数的实现方式。4.C++中的静态成员属于对象所有。参考答案:错误解析:静态成员属于类所有,所有对象共享同一静态成员。本题考查静态成员特性,需掌握静态成员与普通成员的区别。5.C++中的指针可以指向任何类型的数据。参考答案:正确解析:指针可以指向任何类型的数据,包括基本类型、数组、类对象等。本题考查指针基础,需掌握指针的通用性。6.C++中的模板必须是函数模板。参考答案:错误解析:模板可以是类模板或函数模板。本题考查模板类型,需掌握模板的多样性。7.C++中的成员函数可以重载。参考答案:正确解析:成员函数可以重载,通过参数列表区分同名函数。本题考查函数重载机制,需掌握重载的原理与规则。8.C++中的标准库算法都是线程安全的。参考答案:错误解析:标准库算法不保证线程安全,需自行加锁。本题考查算法特性,需掌握线程安全的概念。9.C++中的数组大小必须为编译时常量。参考答案:正确解析:数组大小必须为编译时常量,不能是变量。本题考查数组特性,需掌握数组的定义规则。10.C++中的map容器支持快速随机访问。参考答案:错误解析:map基于红黑树,不支持随机访问,查找效率为O(logn)。本题考查容器性能特性,需掌握不同容器的数据结构。四、简答题(本大题共8小题,每小题2分,共16分)1.简述C++中引用与指针的区别。参考答案:引用是已存在变量的别名,必须初始化且不能改变;指针是存储地址的变量,可以指向任何内存位置,可以改变指向。引用不能为空,指针可以为空;引用不能指向动态分配的内存,指针可以。解析:本题考查引用与指针的基础概念,需掌握两者在初始化、可变性、空值、内存管理等方面的区别。2.简述C++中虚函数的作用。参考答案:虚函数允许在派生类中重写基类函数,实现多态。通过基类指针或引用调用虚函数时,会根据实际对象类型调用对应重写版本。虚函数是实现动态绑定的关键。解析:本题考查虚函数特性,需掌握虚函数与多态机制的关系,以及动态绑定的原理。3.简述C++中静态成员的特性。参考答案:静态成员属于类所有,所有对象共享同一静态成员;静态成员在类外声明,在类内初始化;静态成员函数没有this指针,只能访问静态成员。解析:本题考查静态成员特性,需掌握静态成员与普通成员的区别,以及静态成员函数的特点。4.简述C++中模板的作用。参考答案:模板是泛型编程工具,允许编写独立于类型的代码;模板可以是函数模板或类模板;模板支持参数化类型和默认参数,提高代码复用性。解析:本题考查模板基础,需掌握模板的概念与优势,以及模板的类型参数。5.简述C++中动态内存分配的步骤。参考答案:6.使用new操作符分配内存;7.获取指向分配内存的指针;8.使用完内存后用delete或delete[]释放;9.注意内存泄漏和重复释放问题。解析:本题考查动态内存管理,需掌握内存分配与释放的流程,以及常见问题。10.简述C++中标准库容器的分类。参考答案:标准库容器分为序列容器(vector,list,deque)和关联容器(map,set,multimap,multiset);序列容器存储元素有序排列,关联容器基于键值对存储。解析:本题考查容器类型,需掌握不同容器的数据结构与应用场景。11.简述C++中内联函数的作用。参考答案:内联函数建议编译器将函数体嵌入调用处,减少函数调用开销;适用于小型、频繁调用的函数;编译器可能忽略内联建议。解析:本题考查函数特性,需掌握内联函数的原理与适用场景,以及编译器的处理方式。12.简述C++中异常处理的步骤。参考答案:13.使用try块包围可能抛出异常的代码;14.使用catch块捕获并处理异常;15.可使用throw语句抛出异常;16.可使用noexcept声明函数不抛出异常。解析:本题考查异常处理机制,需掌握异常的抛出与捕获流程,以及相关关键字的使用。五、应用题(本大题共8小题,每小题4分,共32分)1.设计一个C++类,实现一个简单的栈结构,要求:(1)栈最大容量为100;(2)提供push、pop、isEmpty、isFull方法;(3)使用动态内存分配实现栈存储。参考答案:```cppclassStack{public:Stack():top(-1),data(newint[100]){}~Stack(){delete[]data;}boolpush(intval){if(isFull())returnfalse;data[++top]=val;returntrue;}boolpop(int&val){if(isEmpty())returnfalse;val=data[top--];returntrue;}boolisEmpty(){returntop==-1;}boolisFull(){returntop==99;}private:inttop;intdata;};```解析:本题考查类设计,需掌握栈的基本操作与动态内存管理。栈使用数组存储,top指示栈顶位置,push和pop操作栈顶元素,isEmpty和isFull检查栈状态。2.编写一个C++函数,实现两个整数的加法运算,要求:(1)使用模板实现泛型加法;(2)支持不同类型参数的加法,如int、double等。参考答案:```cpptemplate<typenameT>Tadd(Ta,Tb){returna+b;}```解析:本题考查模板编程,需掌握模板函数的定义与使用。模板函数可以处理不同类型的参数,实现泛型编程。3.编写一个C++函数,实现数组元素的反转,要求:(1)使用递归实现反转;(2)支持任意类型数组的反转。参考答案:```cpptemplate<typenameT>voidreverse(Tarr[],intleft,intright){if(left>=right)return;swap(arr[left],arr[right]);reverse(arr,left+1,right-1);}```解析:本题考查递归编程,需掌握递归函数的设计。递归反转需要交换首尾元素,然后递归处理剩余部分。4.编写一个C++函数,实现字符串的查找功能,要求:(1)使用KMP算法实现查找;(2)返回子串在主串中的位置,未找到返回-1。参考答案:```cppvoidcomputeLPSArray(conststring&pat,intM,intlps){intlen=0;lps[0]=0;inti=1;while(i<M){if(pat[i]==pat[len]){len++;lps[i]=len;i++;}else{if(len!=0){len=lps[len-1];}else{lps[i]=0;i++;}}}}intKMPSearch(conststring&pat,conststring&txt){intM=pat.length();intN=txt.length();intlps[M];computeLPSArray(pat,M,lps);inti=0;intj=0;while(i<N){if(pat[j]==txt[i]){j++;i++;}if(j==M){returni-j;j=lps[j-1];}elseif(i<N&&pat[j]!=txt[i]){if(j!=0)j=lps[j-1];elsei=i+1;}}return-1;}```解析:本题考查KMP算法,需掌握KMP算法原理与实现。KMP算法通过LPS数组避免重复比较,提高查找效率。5.编写一个C++函数,实现两个链表的合并,要求:(1)合并后的链表按升序排列;(2)支持任意类型链表的合并。参考答案:```cpptemplate<typenameT>ListNode<T>mergeLists(ListNode<T>l1,ListNode<T>l2){if(!l1)returnl2;if(!l2)returnl1;ListNode<T>head=nullptr;if(l1->val<=l2->val){head=l1;l1=l1->next;}else{head=l2;l2=l2->next;}ListNode<T>current=head;while(l1&&l2){if(l1->val<=l2->val){current->next=l1;l1=l1->next;}else{current->next=l2;l2=l2->next;}current=current->next;}if(l1)current->next=l1;if(l2)current->next=l2;returnhead;}```解析:本题考查链表操作,需掌握链表的合并与排序。合并两个有序链表时,比较首节点大小,然后递归合并剩余部分。6.编写一个C++函数,实现快速排序算法,要求:(1)使用递归实现快速排序;(2)支持任意类型数组的排序。参考答案:```cpptemplate<typenameT>voidquickSort(Tarr[],intleft,intright){if(left>=right)return;inti=left,j=right;Tpivot=arr[(left+right)/2];while(i<=j){while(arr[i]<pivot)i++;while(arr[j]>pivot)j--;if(i<=j){swap(arr[i],arr[j]);i++;j--;}}quickSort(arr,left,j);quickSort(arr,i,right);}```解析:本题考查快速排序算法,需掌握快速排序原理与实现。快速排序通过pivot分区,然后递归排序左右子数组。7.编写一个C++函数,实现二分查找算法,要求:(1)使用迭代实现二分查找;(2)返回目标值在数组中的位置,未找到返回-1。参考答案:```cpptemplate<typenameT>intbinarySearch(Tarr[],intleft,intright,Ttarget){while(left<=right){intmid=left+(right-left)/2;if(arr[mid]==target)returnmid;if(arr[mid]<target)left=mid+1;elseright=mid-1;}return-1;}```解析:本题考查二分查找算法,需掌握二分查找原理与实现。二分查找通过不断缩小查找范围,提高查找效率。8.编写一个C++函数,实现斐波那契数列的第n项,要求:(1)使用动态规划实现;(2)支持任意正整数n的计算。参考答案:```cpptemplate<typenameT>Tfibonacci(intn){if(n<=1)returnn;Tdp[n+1];dp[0]=0;dp[1]=1;for(inti=2;i<=n;i++)dp[i]=dp[i-1]+dp[i-2];returndp[n];}```解析:本题考查动态规划,需掌握斐波那契数列的递推关系。动态规划通过存储子问题结果避免重复计算,提高效率。9.编写一个C++函数,实现字符串的替换功能,要求:(1)将主串中所有子串old替换为new;(2)返回替换后的字符串。参考答案:```cppstringreplaceString(conststring&str,conststring&old,conststring&newStr){stringresult="";size_tpos=0;while((pos=str.find(old,pos))!=string::npos){result+=str.substr(0,pos)+newStr;pos+=old.length();}result+=str.substr(pos);returnresult;}```解析:本题考查字符串操作,需掌握字符串查找与替换。通过循环查找子串,然后拼接替换后的字符串。10.编写一个C++函数,实现链表的删除操作,要求:(1)删除链表中所有值为target的节点;(2)支持任意类型链表的删除。参考答案:```cpptemplate<typenameT>ListNode<T>deleteNodes(ListNode<T>head,Ttarget){ListNode<T>current=head;ListNode<T>prev=nullptr;while(current){if(current->val==target){if(prev){prev->next=current->next;}else{head=current->next;}ListNode<T>temp=current;current=current->next;deletetemp;}else{prev=current;current=current->next;}}returnhead;}```解析:本题考查链表操作,需掌握链表的删除操作。通过循环遍历链表,删除值为target的节点,并处理头节点情况。【标准答案及解析】一、单项选择题1.C2.D3.A4.C5.B6.D7.A8.C9.A10.A2.A12.A13.A14.D15.A16.C17.C18.A19.A20.C二、填空题1.&22:new23:virtual24:static25:26:template27:>->28:const29:merge()30:map三、判断题1.√32.√33.√34.×35.√36.×37.√38.×39.√40.×四、简答题1.引用是已存在变量的别名,必须初始化且不能改变;指针是存储地址的变量,可以改变指向。引用不能为空,指针可以为空;引用不能指向动态分配的内存,指针可以。解析:本题考查引用与指针的基础概念,需掌握两者在初始化、可变性、空值、内存管理等方面的区别。2.虚函数允许在派生类中重写基类函数,实现多态。通过基类指针或引用调用虚函数时,会根据实际对象类型调用对应重写版本。虚函数是实现动态绑定的关键。解析:本题考查虚函数特性,需掌握虚函数与多态机制的关系,以及动态绑定的原理。3.静态成员属于类所有,所有对象共享同一静态成员;静态成员在类外声明,在类内初始化;静态成员函数没有this指针,只能访问静态成员。解析:本题考查静态成员特性,需掌握静态成员与普通成员的区别,以及静态成员函数的特点。4.模板是泛型编程工具,允许编写独立于类型的代码;模板可以是函数模板或类模板;模板支持参数化类型和默认参数,提高代码复用性。解析:本题考查模板基础,需掌握模板的概念与优势,以及模板的类型参数。5.6.使用new操作符分配内存;7.获取指向分配内存的指针;8.使用完内存后用delete或delete[]释放;9.注意内存泄漏和重复释放问题。解析:本题考查动态内存管理,需掌握内存分配与释放的流程,以及常见问题。10.标准库容器分为序列容器(vector,list,deque)和关联容器(map,set,multimap,multiset);序列容器存储元素有序排列,关联容器基于键值对存储。解析:本题考查容器类型,需掌握不同容器的数据结构与应用场景。11.内联函数建议编译器将函数体嵌入调用处,减少函数调用开销;适用于小型、频繁调用的函数;编译器可能忽略内联建议。解析:本题考查函数特性,需掌握内联函数的原理与适用场景,以及编译器的处理方式。12.13.使用try块包围可能抛出异常的代码;14.使用catch块捕获并处理异常;15.可使用throw语句抛出异常;16.可使用noexcept声明函数不抛出异常。解析:本题考查异常处理机制,需掌握异常的抛出与捕获流程,以及相关关键字的使用。五、应用题1.```cppclassStack{public:Stack():top(-1),data(newint[100]){}~Stack(){delete[]data;}boolpush(intval){if(isFull())returnfalse;data[++top]=val;returntrue;}boolpop(int&val){if(isEmpty())returnfalse;val=data[top--];returntrue;}boolisEmpty(){returntop==-1;}boolisFull(){returntop==99;}private:inttop;intdata;};```解析:本题考查类设计,需掌握栈的基本操作与动态内存管理。栈使用数组存储,top指示栈顶位置,push和pop操作栈顶元素,isEmpty和isFull检查栈状态。2.```cpptemplate<typenameT>Tadd(Ta,Tb){returna+b;}```解析:本题考查模板编程,需掌握模板函数的定义与使用。模板函数可以处理不同类型的参数,实现泛型编程。3.```cpptemplate<typenameT>voidreverse(Tarr[],intleft,intright){if(left>=right)return;swap(arr[left],arr[right]);reverse(arr,left+1,right-1);}```解析:本题考查递归编程,需掌握递归函数的设计。递归反转需要交换首尾元素,然后递归处理剩余部分。4.```cppvoidcomputeLPSArray(conststring&pat,intM,intlps){intlen=0;lps[0]=0;inti=1;while(i<M){if(pat[i]==pat[len]){len++;lps[i]=len;i++;}else{if(len!=0){len=lps[len-1];}else{lps[i]=0;i++;}}}}intKMPSearch(conststring&pat,conststring&txt){intM=pat.length();intN=txt.length();intlps[M];computeLPSArray(pat,M,lps);inti=0;intj=0;while(i<N){if(pat[j]==txt[i]){j++;i++;}if(j==M){returni-j;j=lps[j-1];}elseif(i<N&&pat[j]!=txt[i]){if(j!=0)j=lps[j-1];elsei=i+1;}}return-1;}```解析:本题考查KMP算法,需掌握KMP算法原理与实现。KMP算法通过LPS数组避免重复比较,提高查找效率。5.```cpptemplate<typenameT>ListNode<T>mergeLists(ListNode<T>l1,ListNode<T>l2){if(!l1)returnl2;if(!l2)returnl1;ListNode<T>head=nullptr;if(l1->val<=l2->val){head=l1;l1=l1->next;}else{head=l2;l2=l2->next;}ListNode<T>current=head;while(l1&&l2){if(l1->val<=l2->val){current->next=l1;l1=l1->next;}else{current->next=l2;l2=l2->next;}current=current->next;}if(l1)current->next=l1;if(l2)current->next=l2;returnhead;}```解析:本题考查链表操作,需掌握链表的合并与排序。合并两个有序链表时,比较首节点大小,然后递归合并剩余部分。6.```cpptemplate<typenameT>voidquickSort(Tarr[],intleft,intright){if(left>=right)return;inti=left,j=right;Tpivot=arr[(left+right)/2];while(i<=j){whi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论