#include <iostream> using namespace std; /* 最近在写一个程序的时候用到了二级指针作为函数参数的情况,就在函数内部如何操作二级指针为数组做以下探讨: 无非有两种使用方式 a[i][j] or *((type *)a + i*col + j); 先看下面的测试 ...
分类:
其他好文 时间:
2020-04-06 00:25:42
阅读次数:
259
"https://leetcode.com/problems/move zeroes/" 给定一个数组,将其所有为0的元素移到数组后面去,同时保持非零元素的相对位置不变 要求:不能新建一个数组空间;使得操作尽可能少 分析: 方法一:快慢指针 快指针在前面判断该数是否是0,慢指针在后面定位快指针找到的 ...
分类:
其他好文 时间:
2020-04-05 23:59:57
阅读次数:
109
1.什么是链表 [1]. 链表是一种在物理存储单元上非连续的的存储结构; [2]. 链表的数据单元分为:数据域(data:存储节点的数据信息)和指针域(next:存储下/上个节点的地址); [3]. 链表可以分为:带头结点的链表和不带头结点的链表; [4]. 基本链表分类: (1)单链表 (2)循环 ...
分类:
其他好文 时间:
2020-04-05 22:22:32
阅读次数:
68
操作内存 创建内存:new 过程:用new创建内存,如果成功的话那么直接分配,然后调用对象的构造函数,如果分配不够,那么先去调用用户自己写的set_new_handler函数,一般这个函数是用来释放些内存,然后使多点内存,然后再去申请,如果还是不行,再调用该函数,但是一般就是用个标记变量释放第一次, ...
分类:
编程语言 时间:
2020-04-05 22:08:33
阅读次数:
58
概述 引用计数法又是什么鬼呢? 顾名思义, 对对象的引用进行计数. 通过记录每个对象被引用的次数, 来确定这个对象是否可以被回收. 实现 首先, 对对象的引用数量进行管理, 什么时候会更新呢? 1. 创建对象: 新建一个对象(对这个新的对象引用数量+1) 2. 更新指针: 将一个指向A对象的指针重新 ...
分类:
编程语言 时间:
2020-04-05 20:42:09
阅读次数:
89
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #define MAX 1024 5 6 int main(){ 7 //用指针打印字符串长度 8 char str[MAX]; 9 char ...
分类:
其他好文 时间:
2020-04-05 20:20:50
阅读次数:
73
1.指针/指针变量的定义 地址 内存单元的编号 从零开始的非负整数 范围:4G【0~4G-1】 指针/指针变量 内存区的每一个字节都有一个编号,这就是“地址” 指针的实质就是内存“地址”,指针就是地址,地址就是指针 指针就是内存单元的编号 指针变量就是存放内存单元编号的变量,或者说指针变量就是存放地 ...
分类:
其他好文 时间:
2020-04-05 20:11:07
阅读次数:
78
【1】函数符定义 函数对象,也叫函数符(functor)。即函数符其实是对函数对象的一种别称。 函数符(函数对象)是指可以类似函数方式与()结合使用的任意对象。 那么,很显然,函数符包括函数名、函数指针的对象和重载了()运算符的类对象(即定义了函数operator()()的类)。 【2】函数符种类 ...
分类:
其他好文 时间:
2020-04-05 15:46:59
阅读次数:
90
指针 一、指针的地址 1、变量的地址 计算机中,数据存储在内存中,内存可划分为若干存储单元,每个单元可以存放8位二进制数,即1个字节。内存单元采用线性地址编码,每个单元具有唯一一个地址编码。 【1】变量的地址:系统为变量分配的内存单元的地址(内存中每一个字节都有一个编号, 就是“地址”,是一个无符号 ...
分类:
编程语言 时间:
2020-04-05 13:54:50
阅读次数:
84
1、反转链表 "力扣地址" 实现方法一:三指针遍历,pre+cur+next;时间复杂度O(n),空间复杂度O(1)。 实现方法二:递归解法,1+ (reverse(2,3));时间复杂度O(n),空间复杂度O(n)(递归调用要占用系统栈空间)。 2、删除链表的节点 "力扣地址" 解法:增加dumm ...
分类:
编程语言 时间:
2020-04-05 13:47:46
阅读次数:
84