抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

main:处理命令行

//main函数的两种定义形式
int main(int argc,char **argv[])
int main(int argc,char *argv[])
  • argc:指的是命令行中输入参数的个数
  • argv:一个数组,它存储了所有的命令行参数

IO库

** IO库设施: **

  • istream类型:提供输入操作
  • ostream类型:提供输出操作
  • cin:一个istream对象,从标准输入读取数据
  • cout:一个ostream对象,从标准输出写入数据
  • cerr:一个ostream对象,通常用于输出程序错误信息,写入到标准错误
  • >>运算符:用来从一个istream对象读取输入数据
  • <<运算符:用来向一个ostream对象写入数据
  • getline函数:从一个给定的istream读取一行数据,存入一个给定的string对象中

稳定的直接插入排序

基本思想:
我们将一个待排序序列分为有序区和无序区(一般开始的时候将第一个元素作为有序区,剩下的元素作为无序区),每次将无序区的第一个元素作为待插入记录,按大小插入到前面已经排好的有序区中的适当位置,直到记录全部插入完成为止。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面)

插入排序

二分查找算法 二分查找的基本思想: 将 n 个元素分成大致相等的两部分,取 a[n/2] 与 x(查找目标值) 做比较,如果x == a[n/2] ,则找到 x,算法中止;否则,如果x < a[n/2],则只要在数组 a 的左半部分继续搜索 x,如果x > a[n/2], 则只要在数组 a 的右半部搜索 x。 使用二分查找算法的前提:待查找序列是有序的 时间复杂度分析...

使用struct关键字定义类*** 使用class和struct定义类的唯一区别就是默认的访问权限 ***] 使用struct关键字,定义在第一个访问说明符之前的成员是public 使用class关键字,定义在第一个访问说明符之前的成员是private 定义在类内的成员函数是自动inline的 12345678910111213141516171819202122232425262728...

C++输出精度(precision)控制,格式化输出

使用cout对象的成员

  • setprecision()
  • setf()
  • width()
  • fill()
  • flags(ios::fixed)

标准库类型string

  • 标准库类型string表示可变长的字符序列
  • 使用string类型必须包含string头文件,string定义在命名空间std中

定义和初始化string对象

初始化string对象的方式

初始化方式 说明
string s1 默认初始化,s1是一个空字符串
string s2(s1) s2是s1的副本
string s2=s1 等价于s2(s1),s2是s1的副本
string s3(“shansan”) s3是字面值”shansan”的副本,除了字面值最后的那个空字符串外
string s3=”shansan” 等价于s3(“shansan”)
string s4(n,’c’) 把s4初始化为由连续n个字符c组成的串

c++11特性

列表初始化

  • 使用花括号来初始化对象
  • 使用列表初始化内置类型的变量,可能会存在丢失信息的风险

python生成器(generator)

  • 生成器是一种使用普通函数语法定义的迭代器
  • 包含yield语句的函数都是生成器,它是一个不断产生值的函数
  • 生成器每次使用yield产生一个值后,函数都将冻结,即在此处停止执行,等待重新被唤醒。被唤醒后从停止的地方开始继续执行

生成器推导(生成器表达式)

*** 使用圆括号()创建一个生成器推导 ***,它创建了一个可迭代的对象
使用next()函数可以获得生成器推导的下一个返回值

g = (i**2 for i in range(10))

网络爬虫框架scrapy(配置型爬虫) 什么是爬虫框架? 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合 爬虫框架是个半成品,帮助用户实现专业网络爬虫 scrapy框架结构(“5+2”结构) spider: 解析downloader返回的响应(Response) 产生爬取项(scraped item) 产生额外的爬去请求(Request)需要用户编写配置代码 engine(...