阿里2010年校招C++题目选讲

本文深入探讨了数据结构如二分查找、栈、数组指针及指针数组的概念,对比了选择排序与其他排序算法的效率,解析了运算符重载、内存对齐和迭代器操作,以及C++中const修饰符的使用规则。

考察二分查找过程

考察栈的基本题目

把0弹出去,然后把叶子节点的最后一个元素放到根上,然后再调整

选择排序每次选最小的比较,都是O(N^2)

\

这个题目需要记忆一下

这道题目计算量较大

这里定义的是一个函数指针,返回值也是一个函数指针

联合体共用一块内存,简单内存对齐

这是一道简单的题目

除了 . , .* , :: , ? : , sizeof , typeid 这几个运算符不能被重载,其他运算符都能被重载。delete不能够重载,operator delete可以重载。

.表示成员选择

.*表示指向成员操作的指针

?:表示条件操作
::作用域符

++,--用于双向迭代,迭代器最基本的功能;
*用于复引用迭代器用于引用迭代器对应的元素,也是基本操作;
==用于判断两个迭代器是否相等,迭代的时候需要判断迭代器是否到了某个位置

核心:

1.如果const位于*号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量。

2.如果const位于*号的右侧,const就是修饰指针本身,即指针本身是常量。

第一个弹出n,第二个弹出n-1, 第i个弹出n-i+1

A. public成员可以被类中的函数、友元函数、类的对象、派生类访问。

B.私有继承时,基类的public和protected成员都变成派生类的private类型,因此不可被类外访问。

C.保护继承时,基类的public和protected成员都变成派生类的protected类型,可以被派生类访问。

D.protected成员可以被类中的函数、友元函数、派生类访问,不能被类的对象访问,因此不能在类外被访问

这一题要区分,数组指针和指针数组。

数组指针是一个指向数组的指针, 指针数组是一个数组,里面放着一系列指针

int(*p)[10]是一个数组指针,p是一个指针指向 int[10] 数组, int* p[10], 是一个指针数组,p是一个数组,数组每个元素是个指向int型的指针。

 不熟悉的话,只可能再A,C中选,A是一个指针数组,题目要求的是数组指针,所以选C

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值