
C/C++基础
吃纸狂人
菜的抠脚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
break continue return goto的区别
goto goto语句也称为无条转移语句,其一般格式如下: goto 语句标号:其中语句标号是按标识符规定书写的符号#include<stdio.h>int main(){ int n=0; if(n==0) goto prti; n++; prti:printf("这是goto输出的语句\n"); printf("hello worl...原创 2019-01-06 18:08:24 · 350 阅读 · 0 评论 -
BST树——前序、中序、后序的递归和非递归遍历遍历
递归前序遍历void PreOrder(BtNode *p){ if(p != NULL) { cout<<p->data<<" "; PreOrder(p->leftchild); PreOrder(p->rightchild); }}中序遍历void InOrder(BtNode *p){ if(p != ...原创 2019-09-04 22:04:39 · 485 阅读 · 0 评论 -
设计模式——单例模式
单例模式:一个类只能实例化一个对象实现机制: 1.构造函数私有化 2.提供接口生成唯一对象 3.静态指针类外初始化分类: 1、懒汉模式 (贪婪加载):线程不安全 只有在调用getInstance这个函数时这个类对象才会被实例化class SingleTon{public: static SingleTon* getIn...原创 2019-08-11 10:42:53 · 124 阅读 · 0 评论 -
八大排序——希尔、归并、快速排序
希尔排序//希尔排序void insertSort(int *arr, int len,int level){ assert(NULL != arr); static int b = 0; for (int i = level; i < len; i+=level) { int j = i; int tmp = arr[i]; for (; j > 0...原创 2019-08-14 11:43:26 · 165 阅读 · 0 评论 -
写时拷贝
写时拷贝是指当多个变量指向同一块空间时,当其中的一个变量要对其修改时,将会发生复制情况,内存先分配空间给变量,然后将数据拷贝到新的内存上,将想要修改的变量指向这块新的内存,再对其修改。C++具体实现:s1和s2 同时指向这块内存,此时这块内存的计数器为2表示,当前有两个变量同时指向同一块内存空间当执行s[2]="w"时则原来的内存计数器-1;s2指向新的内存空间,同时将新的内存空间...原创 2019-07-27 18:38:54 · 270 阅读 · 0 评论 -
多态
多态一般分为静多态,动多态和宏多态静多态:在编译时刻确定函数地址(重载,模板)动多态:在运行时刻确定函数的地址虚函数:简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。有了虚函数才能实现动多态。那些能成为虚函数? 1.能取地址 2.依赖对象调用所以普通的类成员方法、析构(特殊)函数能成为虚函数普通全局函数、静态的类成员方法、内联函数、构...原创 2019-07-31 19:27:12 · 153 阅读 · 0 评论 -
虚函数指针的位置
class Test{public: int a; int b; virtual void fun() {} Test(int temp1 = 0, int temp2 = 0) { a=temp1 ; b=temp2 ; } int getA() { return a; }...原创 2019-07-29 20:30:42 · 394 阅读 · 0 评论 -
浮点数与“0”的比较
浮点数存在误差问题,所以我们不能直接用浮点数与“0”进行比较,直接进行比较是不正确的。例如我们有一个浮点数a=0.01,这个数我们输出时设置保留一位小数,那么a打印出来会变成0.0。再下来我们用这个打印出来的值与"0"比较,我们是不是会认为0.0与0是相等的,但其实这个数原来是a=0.01,a与0是不相等的。在假设有一个浮点数a=-0.01,打印时设置保留一位小数,打印出来会变成0...原创 2018-05-05 15:12:39 · 7824 阅读 · 0 评论 -
数字的逆序、顺序与计数
#include <stdio.h>#include<math.h>int Num(int n)//计数{int count=0;if(n==0){return 1;}while(n!=0){n /=10;count++;}return count;}void Inver_order(int n)//逆序函...原创 2018-05-18 23:37:17 · 711 阅读 · 0 评论 -
简单的指针介绍
指针:指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器中的寄存器,简单来说指针 ==‘地址’。指针中有一个符号:*间接访问符,简称解引用。作为一个指针与字符变量没有多大差别1)指针类型:字符变量有类型,指针也有类型比如:int *p;//整形指针存放整型值double *p;//浮点指针存放浮点值2)指针的值:字符变量有值,指针也有值,不过...原创 2018-05-23 21:58:26 · 389 阅读 · 0 评论 -
进制问题
例一:如果某系统15*4=112成立,则系统采用的是()进制A 6 B 7 C 8 D 9解一:A:逢6进1 15+15=34 34+34=112 选AB:逢7进1 15+15=33 33+33=66 X解二:(1*n^1+5*n^0)*(4*n...原创 2018-05-24 21:39:59 · 666 阅读 · 0 评论 -
指针加法
int arr[10]={1,2,3};int *p = arr;*p=10;p++;*p=20;(假设a的地址如下图)那么现在问题来了,p++之后指向的是arr数组中那个元素呢?(arr数组int型则一个元素占四个字节我们称为一个格子)假设有三种符合p++1、加一个字节 2、加一个格子 3、加一整个数组10...原创 2018-06-12 19:24:12 · 909 阅读 · 0 评论 -
C中的const和C++中的const
左值:放在赋值符号"="的左边.即写权限1、限定写权限,将变量变成只读const int a=10; int const a=10;两个定义方法都可以均表示a是一个常变量不可修改。2、基本数据类型对于const透明(int const *p=&a)==(const int *p=&a)3、const修饰它的直接右边,使其只读const int *p=&a...原创 2018-06-12 20:22:28 · 180 阅读 · 0 评论 -
define与typedef的区别
define是宏,它只是字符替换,而typedef定义了之后则是代了一种变量类型1)#define INT intINT a,b;//a与b都是int型typedef int INT;//INT 定义为int型,INT现在为一种变量类型INT a,b;//a与b 都是int型#define PINT int *PINT a,b;//这时a与b就不都是int型指针了,de...原创 2018-09-21 19:37:06 · 149 阅读 · 0 评论 -
八大排序算法时间空间复杂度分析
作者:番茄焖鸡蛋链接:https://www.nowcoder.com/discuss/200097?type=1来源:牛客网1、冒泡排序不管序列是怎样,都是要比较n(n-1)/2 次的,最好、最坏、平均时间复杂度都为O(n²),需要一个临时变量用来交换数组内数据位置,所以空间复杂度为O(1)。有很多人说冒泡排序的最优的时间复杂度为O(n),其实这是在代码中使用一个标志位来判断是否已经排...转载 2019-09-04 22:04:51 · 2911 阅读 · 0 评论