在C语言中,我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。 【例1】简单的输入输出代码示例: #include<iostream> using namespace std; int main(){ int …
C++ 是在C语言的基础上开发的,早期的 C++ 还不完善,不支持命名空间,没有自己的编译器,而是将 C++ 代码翻译成C代码,再通过C编译器完成编译。这个时候的 C++ 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等头文件依然有效;此外 C++ 也开发了一些新的库,增加了自己的头文件,例如: iostream.h:用…
一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。 例如小李和小韩都参与了一个文件管理系统的开发,它们都定义了一个全局变量 fp,用来指明当前打开的文件,将他们的代码整合在一起编译时,很明显编译器会提示 fp 重复定义(…
C++ 和C语言类似,也要经过编译和链接后才能运行。在《C语言编译器》专题中我们讲到了 VS、Dev C++、VC 6.0、Code::Blocks、C-Free、GCC、Xcode 等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C++ 程序,步骤是一样的,这里不再赘述,读者需要留意的是 C++ 源文件的后缀,以及 GCC 中的…
C++ 是一门面向对象的编程语言,理解 C++,首先要理解类(Class)和对象(Object)这两个概念。 C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如: #include <s…
1. 什么是空间复杂度? 算法的时间复杂度和空间复杂度合称为算法的复杂度 它表示算法所使用的额外空间随着输入规模增加而增加的速率 2. 空间复杂度可以通过以下方式进行分析: O(1) - 常数空间复杂度: 示例: 只使用固定数量的额外变量或常量大小的数组。 最佳实践: 常数空间复杂度是最理想的情况,尽量选择常数空间的算法。 O(n) - 线性空间复…
1. 数据结构 存储、组织数据的方式 包括数组、链表、堆、栈、队列、树、图等 同样的数据不同的组织方式就是数据结构。比如对老王的姓名、年龄、性别的描述: 列表方式:[老王,18,男] 字典方式:{name:"老王",age:18,sex:"男"} 而列表、字典都可以存储了老王的数据,但按照不同的方式存储在内存中。 算法是为了解决实际…
选型 我们假定计算机执行算法每一个基本操作的时间是固定的一个时间单位 , 那么有多少个基本操作就代表会花费多少时间单位 , 由此可以忽略机器环境的影响而客观的反应算法的时间效率 代码执行总时间(T) = 操作步骤数量 * 操作步骤执行时间(忽略机器环境的影响) 算法时间复杂度是用来描述算法在运行时所需的时间资源的度量。它通常表示为一个函数,该函数描…
N-皇后问题是一个经典的计算机科学和数学问题,其目标是在一个N×N的棋盘上放置N个皇后,使得它们彼此之间互不攻击,即没有两个皇后在同一行、同一列或同一斜线上。 这个问题最早由卡尔·弗里德里希·高斯于1850年提出,它在计算机科学领域中被广泛研究,被用作算法和人工智能的基础问题。 问题描述 给定一个N×N的棋盘,要求在每一行放置一个皇后,以确保它们不…
题目描述: 输入一个三位数n,判断是否为水仙花数,如果是则输出“YES”,不是则输出“NO”。水仙花数:是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153) 输入: 输入一个三位数n。 输出: 按照题目描述输出对应结果。 样例输入: 153 样例输出: YES 数据范围限制: 100<=…