首页 > 编程语言 >算法学习笔记_1

算法学习笔记_1

时间:2023-11-30 11:57:19浏览次数:42  
标签:int s1 笔记 学习 算法 C++ ia new ib

23.4

1. 一个C++输入时加速的好办法。

#include
using namespace std;
int main(){
std::ios::sync_with_stdio(false);
cin.tie(0);
return 0;
}

ios::sync_with_stdio(false) 是 C++ 中的语句,用于关闭与 stdio 的同步。这样做可以提高输入输出效率。

2.杂七杂八

忙于计设三创,几周没写题…

其实今天写题感觉比之前顺手很多,一些以前觉得不好写的题今天几十分钟就看明白然后A了,虽说自己还是很菜,但是感觉是有进步的,只是“决定开始写题”的起步反而最难罢了。

打算这一学期坚持每天写洛谷,补补自己之前的算法短板,暑假就开始刷牛客。

共勉吧

23.5

面向对象C++

1. C++概论

代码图片1

代码图片2

1.创建类和继承子类(shape 和 rectangle、circle)

2.使用 虚函数 实现 多态调用

3.自定义头文件的创建和声明

2. C++基本语法

  1. 引用:由类型标识符和一个取地址符(&)定义,必须被初始化。(主要用作函数形参)
int ival = 100;
int &refval = ival;
const int& rc = 10;  //限定引用,编译器生成值为10的临时对象,rc指向该对象
//refval是指向ival的引用
  1. 字符串类----string
#include<string>
using namespace std;
int main() {
    string s1, s2 ("yes"),s3;//字符串赋值 直接初始化(隐式形式)
    s1 = "no";//赋值初始化 (显式形式)
    s3 = s1 + "oh" + s2; //字符串连接
    s1 += "bye" //末尾追加
    int x, len = s1.size(); //求字符串长度
    bool judge = empty(s1); //判断字符串是否为空
    x = strlen(s1.c_str()); //将string转换为C风格字符串,得到C风格字符串首地址
}
  1. vector
#include<vector>
using namespace std;
int main() {
    vector<int> iv(10); //数组习惯
    vector<int> vi; //STL习惯
}
  1. 整数文字常量

(1)027(八进制) 27(十进制) 0x(十六进制)

(2)27L(long类型) 27UL(无符号long类型) 27u(无符号)

(3)235.8 = 2.358E2 (科学记数法)

(4)3.14F(float浮点数) 3.14L(long double 类型)

  1. 字符文字常量

常用转义字符

  1. 位运算符

(1)~ 按位非 :对操作数每一位取反

(2)<< , >> 二元运算 : 对无符号整数,左移一位相当于乘2,右移一位相当于除2

(3)& 按位与,|按位或,^ 按位异或 :都需要两个整值操作数

x = x ^ y;
y = x ^ y;
x = x ^ y;
//实现交换变量 x 和 y 的值 
  1. 动态存储空间的管理 new和delete

(1)new表达式分配的空间用delete运算符释放

//new的三种表达形式(返回新分配的对象的指针)
//第一种用于分配特定类型的单个对象
int* ip1 = new int;
*ip1 = 521; //new 类型 并赋值512
delete ip; //释放了空间,ip成为空悬指针
int* ip2 = new int(100);  //new 类型(初始值)

//第二种可以在堆上分配特定大小数组并返回首地址
int* ipa = new int[100];  //new 类型[数组大小]
delete[] ipa; //释放指针ipa指向的数组,将空间归还动态存储区

//第三种:定位new表达式
#include <new>
using namespace std;
char* buf = new char[1000];//预分配一段空间,首地址存于buf
int main() {
    int* pi = new (buf) int;
    //在buf中创建一个int对象,此时不再从堆上分配空间
}

(堆上的空间在使用之后必须释放,否则会造成内存泄露)

  1. 条件运算符

    (1)C++中唯一一个三元运算符

int min(int ia, int ib) { 
return (ia < ib) ? ia : ib; 
}
// 这段代码是如下代码的简写形式:
int min(int ia, int ib) {
if (ia < ib)    return ia;
else    return ib;
}
  1. Switch语句

    switch ( expression ) {
    case n1:  statement1;
    case n2:  statement2;
    //…
    case n:  statementnn;
    default:  statementn;
    }
    

标签:int,s1,笔记,学习,算法,C++,ia,new,ib
From: https://www.cnblogs.com/robber-is-best/p/17866965.html

相关文章

  • 学习笔记12
    MySQL数据库系统笔记1.概述MySQL是一种关系型数据库管理系统,广泛用于Web应用程序的后台数据存储。它是一个开源的数据库系统,提供高性能、稳定可靠的数据存储和管理功能。2.安装和配置2.1安装MySQL安装MySQL的步骤如下:下载适合操作系统的MySQL安装包。运行安装程序并按......
  • 前端学习笔记1
    前端笔记2023.31.<meta>标记链接常用meta整理|菜鸟教程(runoob.com)主要用于提供HTML文档的元数据,用于不同移动设备页面调整(全屏、识别邮箱电话号码、添加广告)、SEO优化(搜索引擎优化)、页面相关(编码、站点适配)……2.urlhrefsrc解释(1)URL:统一资源定位符(Uniform......
  • 面向对象C++学习总结
    洛谷日记32023.5面向对象C++:运算符重载1.运算符重载(1)n定义重载运算符和定义普通函数类似,只是该函数的名字是operator@,@表示要重载的运算符。MinIntoperator-()const{//一元运算"-"cout<<"MinInt::operator-"<<endl;returnMinInt(-b);}//定义MinInt类的一......
  • 数字图像处理八九章学习总结
    数字图像处理8.数字形态学图像处理8.1背景&基础(1)基本思想:选择具有一定尺寸和形状的结构元素度量,并提取其相关形状结构图像分量,以达到对图像分析和识别的目的。(2)并集A∪B、交集A∩B、补集Ac、差集A-B、映射、平移(A)z(3)结构元素:一个由0值和1值组成的矩阵。每个......
  • 查找算法
    查找1.二分查找二分查找的思路分析有序序列1.首先确定该数组的中间的下标mid=(left+right)/22.然后让需要查找的数findval和arr[mid]比较2.1findval>arr[mid],说明你要查找的数在mid的右边,因此需要递归的向右查找2.2findval<arr[mid],说明你要查找的数在mid的左边,......
  • FPGA入门笔记007_A——按键消抖模块设计与验证(状态机、$random、仿真模型、task语法)
    实验现象:每次按下按键0,4个LED显示状态以二进制加法格式加1。每次按下按键1,4个LED显示状态以二进制加法格式减1。知识点:1、testbench中随机数发生函数$random的使用;2、仿真模型的概念1、按键波形分析:按键未按,FPGA管脚检测到高电平。按键按下,FPGA管脚检测到低电平。2、设......
  • 考研数学笔记:无穷大量怎么比较?
    一个常用的无穷大量的比较公式函数在其定义域端点处有界或无界其实就是在该点处有极限或者没极限的问题千万别绕进去:自己复合自己的复合函数一个函数既是奇函数又是周期函数,可能会有什么样的性质?......
  • Java学习之路(八)
    Java学习之路(八)1、案例驱动模式1.1、案例驱动模式概述(理解)通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题1.2、案例驱动模式的好处(理解)解决重复代码过多的冗余,提高代码的复用性解决业务逻辑聚集紧密导致的可读性......
  • 《clean code》读书笔记二
    《代码整洁之道》主要讲述了一系列行之有效的整洁代码操作实践。软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。这本书的阅读对象为一切有志于改善代码质量的程序员,书中介绍的规则均来自作者Bob大叔多年的实践......
  • 算法竞赛环境配置
    环境配置工欲善其事,必先利其器。编译器是通过源代码生成目标代码的软件,例如常见的的C++编译器有Linux下的GCC和WIN下的GCC编辑器有neovim,vscode...这里介绍的是CPEditor的环境配置也是笔者所使用的环境CPEditor 专为算法竞赛设计,不像其它IDE主要是为了开发设计的。......