- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 C++ 析构器,重载运算符
析构器:一个类对象需要作善后处理相当于拆除楼房了,剩下的善后处理什么时候来执行:当类对象被释放时候,系统会通知对象~类名() 不带形参,对象都已经释放了,传递值没有意义1.只有一种析构器(不能重载)2.默认添加析构函数(空函数体)3.堆区必须由delete 来释放。 定义的是先全局,在动态 释放是先释放动态在全局释放空间动态数组:链表 , 函数结束后对象释放了,但是它的链...
2018-08-13 23:18:21 463
原创 可变形参
可变形参:stdarg.h定义可变形参的类型时,第一个形参必须确定类型。取出实参步骤:1.定义一个va_list的类型变量(用于存储堆栈的首地址) va_list a;2.调用函数:va_star(va_list,) 将堆栈的首地址存入到a中3.va_arg宏,将每一个数据取出。4.va_end释放void fun(char a,int num...){1.初始化 v...
2018-08-12 19:33:19 823
原创 C++ 【深拷贝】【浅拷贝】 【sting类】
常用类1.string类 stringC语言中字符数组只是一堆数,没有操作的方法,只能借助系统的函数strcpy,strcat函数来操作#include<iostream>using namespace std;int main(){string s="hellow world";cout<<s<<endl;strri...
2018-08-12 14:08:11 830
原创 C++ 类,对象,封装
C++还全局变量和局部变量同时存在的时候,局部变量优先,但是如果想引用全局的方法1.通过定义一个函数来,来调用这个函数实现引用到全局变量 《提供接口》引用作用域的内容空间名::变量名插入流<< 输出 cout<<输入流>> cin>>引用:类型名& 别名=变量整型变量的别名 int& pa=a;...
2018-08-11 18:03:22 233
原创 数据结构之【队列】
队列:先进先出,就是一块线性表,必须从头front的一方出队,从尾巴rear一方入队我们生活中的队列就是这样的,出队的时候每次必须从a1出队, 当头出队后,尾巴就向前移动到下标为0处,这样的效率太低了,我们应该提高效率,每次头front出队了,就不需要向前移动队头不需要每次都向前移动如果front==rear的时候队为空,每次入队一个尾巴就向后面移动...
2018-08-09 19:32:10 713
原创 三大排序之【选择排序】
想要写出一个算法程序,一定要知道它的理论,没有思想一定不可能写出代码来。我们今天学的是选择排序:那么什么是选择排序呢? 选择排序很简单它的意思就是:每一次都从未排序中选出最大值,依次存放在已经排序好的后面,一定要做到依次存放。假设有10个数据分别为 1 3 2 7 6 4 9 7 5 9 看这10个数据,从第二个数开始,因为第一个数已经排序好了,利...
2018-08-06 19:35:09 152
原创 数据结构链表【头插法】【尾插法】【双向链表】
我们最近学了数据结构链表中的尾插法,头插法,双向链表链表的步骤1.申请一个新的节点空间2.给新的节点赋值信息域3.修改这个节点的指针域,将节点连接起来尾插法:顾名思义就是从节点的尾部进行插入,首先申请一个节点空间,给新的节点赋值信息域,然后修改这个节点的指针域,写链表首先要判断头节点是否为空,第一步,如果节点为空,将新的节点地址复制给头节点,如果头节点不为空,要定义一个尾节点。专门来...
2018-08-06 17:00:23 5808
原创 指针与数组,结构体 ,二级指针的应用
1.指针与数据关系“ 1.指针与变量 2.指针与数组(一维 二维) 3.指针与结构体变量 4.二级指针和多级指针 一级指针变量:专门用于存放普通变量的地址。 eg: int b=200; int* a=&a; 二级指针变量:专门用于存一级指针变量的地址 二级定义变量:类型**...
2018-07-25 20:07:59 810
原创 动态数组 【详解】
0、指针 就是地址 1、指针类型: 基本类型 2、空指针类型变量:没有意义,只是一个指针空间,用于记录地址(不能运算) void* 变量; 注:由于空间指针void*不知道尺寸(类型),是不能进行+ -运算的 3、空地址:每个数据空间都有地址(地址>0),设置地址为0的指针为空指针(不指向任何的元素) 注:指针变量...
2018-07-23 22:41:00 5259
原创 flag 与 “零值” 进行比较 【笔试题】
Bool 变量 与零值比较bool flag;代码示例bool flag;if(flag) //表示flag为真if(!flag) //表示为假//这种情况编程时不要用if(flag == 0)if(flag == 1)if(flag == false)if(flag == true)整型变量与零值比较 int flag规则:应当将整形变量用“==”或“!=”...
2018-07-22 10:02:51 1109
原创 指针 【详解】
计算机基础:1.组成:CPU,存储,I/O2.CPU执行指令3.程序:就是有限指令的集合(外存中) 进程:正在运行的程序,(CPU会通过文件系统去将外存中的程序加载到内存并分为空间存储单元) 1.最小的存储单元 bit 存放(0/1) 2.计算机的存储基本单元:byte (每次一次性取出的宽度) 3.其他单位: KB=1024Byte=2^10Byte ...
2018-07-20 23:01:18 150
原创 LINUX系统下 Vi命令大全【详解】
vi的编辑器: 1、三种模式:底行模式 命令模式 插入模式 命令模式: 1、从命令切换插入模式: i : 光标所在左侧输入 I 光标移动到所在行的最左则 o :光标移动的下一行(新的一行) O:光标移动的上一行(新的一行) a :光标移动到所在行的右则输入 A:光标移动到所在行的最右则 ...
2018-07-20 18:38:33 3891
原创 结构体 【详解】
1、C语言基本类型:字符型,整型,浮点型2、结构体(复杂类型):自定义类型 i3、定义变量:为了分配空间 类型 变量名; //注:分配空间编译器通过类型来分配 初始化:定义变量同时赋值 3.1定义结构体(自定义)的类型 struct 类型名 { 属性1; 属性2; 属性3; ...
2018-07-19 19:57:07 160
原创 二分查找 递归查找 非递归查找【详解】
二分查找 普通查找 和递归查找关键字符:二分(折半)查找法 (缩小区域) 前题:查找序列是有序(降/升序) 假定:升序 1、每次取序列中间元素进行比较 2、如果key>mid,说明查找值在中间元素的右侧, 如果key<mid,说明查找值在中间元素的左侧, key==mid,说明查找成功 ...
2018-07-19 19:53:18 470
原创 插入排序 【详解】
插入排序我们先来学习一个数字进行插入排序1,2,3,4,6,7,8,9,10,5例如我们将5 插入到进去进行排序,只需要记录下5的下标,#inculde<stdio.h>void main(){ int a[10]={1,2,3,4,6,7,8,9,10,5}; int i,j; int temp; //用来记录5的下标 for(i=1;i...
2018-07-19 18:44:45 264
原创 C语言编程之头文件
在C语言的编程中,我们经常会出现比如比较大小的函数,等到下次在想使用这个函数时,就不需要再次的编写这个函数,可以直接引用这个函数,这就需要我们引用这个函数的头文件,就可以了。引用头文件:#include<>只有会去系统目录下查找 #include""会去指定路径下查找,如果查找不到,则会去系统下在写函数的时候,我们经常会用到extern ...
2018-07-18 19:40:30 1349
原创 递归猴子偷桃子
#include<strio.h>int fun(int i){ if(10==i) return 1 return (fun(i+1)+1)*2}int main(){ printf("%d\n",fun(1));}因为只...
2018-07-18 19:16:21 2456
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人