c
-
C++链表及其创建
链表是由一系列连接在一起的结点构成,其中的每个结点都是一个数据结构。 链表的结点通常是动态分配、使用和删除的,允许链表在程序运行时增大或缩小。如果需要将新信息添加到链表中,则程序只…
-
C++ override和final关键字(详解版)
C++ 11 中引入了 override 关键字以帮助防止在覆盖虚函数时出现的一些小问题。例如, 在下面的程序中就存在这样的错误。 // This program has a su…
-
C++多态和虚函数详解
如果用不同类型的数据执行代码会产生不同的行为,那么该段代码就认为是多态的。例如,如果一个函数在传递不同类型的参数时执行不同的操作,那么称之为是多态的。 为了说明多态性,请看下面的程…
-
C++快速排序(递归)算法详解
快速排序是由 C.A.R.Hoare 于 1962 年发明的递归排序算法。它非常高效,通常用于对存储在数组中的项目列表进行排序。 快速排序通常写成一个包含 3 个形参的递归函数,这…
-
C++斐波那契数列(递归实现)
以意大利数学家列奥纳多•斐波那契命名的斐波那契数列形式如下: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, &he…
-
C++最大公约数(递归)详解
使用递归可以计算两个数字的最大公约数。根据欧几里得算法,两个正整数 x 和 y 的最大公约数的计算方法如下: gcd(x,y) = y; 如果y除以x而没有余数gcd(x,y) =…
-
C++阶乘函数(递归)详解
递归计算阶乘函数将接收一个整数参数并计算其阶乘。现在不妨用数学的例子来检验一个递归的应用。 在数学中,符号 n! 表示数字 n 的阶乘。整数 n 的阶乘被定义如下。 n! = 1 …
-
C++文件读写结构体详解
我们知道,一个字段是与单个项目有关的单块信息。而记录由字段组成,是关于单个项目的完整信息集。例如,一组字段可能是一个人的姓名、年龄、地址和电话号码,而所有这些与一个人有关的字段则共…
-
C++二进制文件读写(read和write)详解
一个短整型数字(例如 1297)既可以用一个字符串表示 "1297",如图 1 所示: 图 1 以字符串表示的数字 也可以用一个二进制数字表示,如图 2 所示:…
-
C++格式化输出(详解版)
前面已经介绍过可用于流对象的 I/O 操作符,特别是 setw(n)、fixed、showpoint、setprecision(n)、left 和 right 操作符。这些操作符都…