自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 高级软件工程学习总结

代码中的软件工程

2022-07-10 08:29:07 106 1

原创 常数空间实现归并排序

今天写了一道题,要求用O(nlogn)的时间复杂度排序。单链表存储的。快排,堆排序,归并排序的时间复杂度是O(nlogn),只有归并排序比较适合单链表的操作。题目又要求,空间复杂度是常数级别的。这里我们知道,普通的归并排序,空间复杂度是由辅助空间和递归的栈空间构成的。一开始以为指的是辅助空间,消除辅助空间的归并方法有如下两种。两条链表,确定一个次序,比如第一条链表存小的值。然后要是第一条链表值大于第二条链表,交换。由于交换过后,可能导致第二条链表不是有序的,在这里可以使用冒泡排序的方法让其有序。这样

2022-02-15 12:18:21 409

原创 C++ Primer小记 第七章 类

第七章 类7.1 定义抽象数据类型​ 定义在类内部的函数是隐式的内联函数。7.1.2 定义改进的Sales_data类引入this​ 任何对类成员的直接访问都被看作this的隐式引用。成员函数通过一个名为this的额外的隐式参数来访问调用它的那个对象。​ 因为this形参是隐式定义的。所以,任何自定义名为this的参数或变量的行为都是非法的。因为this的目的总是指向 “这个” 对象,所以this是一个常量指针,我们不允许改变this中保存的地址。常量成员函数string isbn()

2021-02-19 22:41:33 121

原创 C++ Primer小记 第六章 函数

第六章 函数6.1 函数基础函数的形参列表​ 不带形参的函数,两种定义方法void f1(){} //隐式定义void f2(void){} //显式定义6.2 参数传递6.2.1 传值参数指针形参​ 指针的行为和其他非引用类型一样。当执行指针拷贝操作时,拷贝的是指针的值。拷贝之后,两个指针是不同的指针。因为指针使我们可以间接的访问它所指的对象,所以通过指针可以修改它所指对象的值。//Q:了解指针形参 void reset(int *p){ *p = 50; cout

2021-02-19 22:40:52 155

原创 C++ Primer小记 第四章 表达式

第四章 表达式4.1 基础4.1.1 基本概念左值和右值​ 简单归纳:当一个对象被用作右值的时候,用的是对象的值(内容)。当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。​ 不是很理解,日后补上4.2 算术运算符取余运算m%(-n) = m%n(-m)%n = -(m%n)-21 % -8 ; // -5 21 % -5 ; // 14.4 赋值运算符窄化转换​ 可以使用花括号来对对象初始化。但是要注意,对于内置类型,如果用花括号初始化,如果存在丢失数

2021-02-19 22:40:05 82

原创 C++ Primer小记 第三章 字符串、向量和数组

第三章 字符串、向量和数组3.1 命名空间的using声明①​ 这种方式可以只声明std中的cin,即不需要包含整个std命名空间using std :: cin;②​ 这种方式是把std整个命名空间都包含进去using namespace std;③​ 注意在头文件中,不应该包含using声明。因为头文件的内容会被拷贝到每一个引用他的文件中,那么using声明也会被拷贝过去,这样可能会不经意间产生错误。3.2 标准库类型string3.2.1 定义和初始化 string 对

2021-02-19 22:39:23 174

原创 C++ Primer小记 第二章 变量和基本类型

第二章 变量和基本类型2.1 基本内置类型2.1.1 算术类型①​ 字符型被分成了三种:​ char ,signed char,unsigned char​ 注意 char 和 signed char 并不一样。尽管字符型有三种,但是字符的表现形式却只有两种:带符号的和无符号的。​ 类型***char*** 会表现为上述两种中的一种,具体是哪种由编译器决定。基于以上的特性,要特别注意char类型的使用。因为有的机器这个用法,有的机器那个用法。如果要表达的数比较小要使用char类型

2021-02-19 22:37:53 181

原创 C++ Primer小记 第一章 开始

第一章 开始1.2 初始输入输出cout << "Enetr two numbers :" << endl;①​ << 运算符 :即,向流中写数据。上面这段代码其实并不简单。​ << 运算符 接收两个运算对象。左侧的运算对象必须是一个 ostream 对象。右侧的运算符就是要打印的值。此时运算符把给定的值写到给定的 ostream 对象中。输出运算符的计算结果就是其左侧运算对象 ostream 。​ 这个输出语句用了两个 <&

2021-02-19 22:36:24 57

原创 Java中StringBuffer类中append、insert、delete方法使用时的缓冲区大小变化解析

今天看Java的时候突然想,StringBuffer默认是16个字符空间,字符缓冲区长度可变,那到底是怎么变的?append方法到底是怎么扩大缓冲区的?insert方法如果插入过多,会丢失还是会扩大缓冲区?delete方法会不会把缓冲区缩小? 然后写了一下代码,得出append、insert方法在使用过程中可能会扩大缓冲区,扩大规律是(字符缓冲区大小+1)*2 ...

2019-05-27 17:01:08 693

原创 如何利用~ & ^ | + 及移位运算符来实现 ! 的功能

**如何利用 ~ & ^ | + << >> 等运算符来实现 ! 的功能**假设x为非0元素,那么 !x=1,x为0,则!x=1把他们写成2进制的来观察一下1.先随便列几个数来观察一下规律#1x=00000000;!x=00000001;#2x=01010010;!x=00000000;#3x=10111000;!x=00000000;...

2019-03-28 23:14:16 359 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除