码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 基础知识复习(三)

时间:2016-08-21 21:16:09      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

43. 继承的几种方式:

答:共有继承public,保护继承protected,私有继承private。其中后两种继承会改变原有的访问级别。

44. 深复制与浅复制:

答:简单理解,深复制自己申请了内存,浅复制直接把地址抄了过去。

45. C++是否支持参数个数不确定:

答:支持,可以使用隐藏参数机制来实现。

46. 什么是内联函数:

答:在类声明内部声明或定义叫做内联函数,为了解决函数调用的效率问题。类声明内部声明,外部定义,叫做显示内联函数,在类声明内部定义叫做隐式内联函数。内联函数不允许使用循环和switch,如包含,则作为普通函数处理。

47. 什么是引用形参:

答: 记得什么是引用吗? 用&定义的别名,当将他作为函数参数传递时就叫做引用形参,比如swap(int a,int b)无法真正交换,但swap(int &a,int &b)就可以了,实际是操作地址。

48. 静态成员函数的特点:

答:没有this指针,只在文件所在编译单位内使用,不能被其他文件使用,只能访问静态变量。

49. 重载overload时,实参的匹配规则:

答: 精确匹配》类型提升》标准转换》类类型转换。

模板与STL部分:

50. 模板分为函数模板和类模板。

51. STL是一个标准c++库,容器是其重要组成部分。主要提供了顺序容器和关联容器,同时提供了迭代器以及100多种算法实现,包括排序,便利。提供的主要容器有vector,list,deque,set,multiset,map,multimap。

52. STL中的顺序容器:
技术分享

53. STL中的关联容器:set,multiset,map,multimap,注意区别在于是否允许键值是重复的。set只保存一个值,map保存一对。

54. STL容器适配器:只是容器的变种,不是单独的。stack,queue,和priority_queue。

55. 迭代器已经定义好了两个,.begin()和.end(),要注意end指向的是最后一个元素的下一个位置,并不是容器的元素。

数据结构部分:

56. 基本数据结构包括:链表,队列(FIFO),栈(LIFO),树,图。

57. 树的分类:有序树,无序树。树的名词:结点(node),结点的度(degree),叶子(Leaf),孩子(child),父结点(parent),兄弟(sibling),结点的层次(level),深度(depth),森林(forest),路径(path),祖先(Ancestor),子孙(Descendant)

58. 如何对树进行遍历:深度优先遍历 和 广度优先遍历,分别对应深度优先搜索DFS和广度优先搜索BFS。

59. 二叉树的遍历方式:主要有三种,先序遍历,中序遍历和后序遍历。

60. 计算二叉树的高度:后序遍历,更适合当白板题。

61. 图的实现方式:邻接矩阵和邻接链表。

62. 图的搜索算法:同样是深度优先和广度优先两种算法。

63. 常用的排序算法有哪些:

答:

冒泡排序 bubble sort。

鸡尾酒排序,定向冒泡排序,每个外循环里同时把最大最小元素挑出来,然后调整上下边界,如果没有调换发生才退出外循环。

选择排序,这是读书时大一最愿意用的排序方式,外循环是位置,内循环是每次挑出来的最大或者最小值。

归并排序技术分享

 

C++ 基础知识复习(三)

标签:

原文地址:http://www.cnblogs.com/sthv/p/5793451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!