Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

C++ sizeof总结

C++ sizeof总结

关键字sizeof的作用是返回对象或类型占用的内存字节数,返回值是size_t。基本数据类型占用的字节数:(32位系统)char 1字节bool 1字节short 2字节int 4字节long 4字节float 4字节double 8字节 对sizeof结果的一个重要影响因素是字节对齐。首先看一个公式:有效对齐值=min(自身对齐值,设置对齐值)。自身对齐值是一个数据类型自身所占字节数, 例子:int a; //自身对齐值是4char c; //自身对...
C# 内存法图像处理

C# 内存法图像处理

内存法通过把图像储存在内存中进行处理,效率大大高于GetPixel方法,安全性高于指针法。笔者当初写图像处理的时候发现网上多是用GetPixel方法实现,提到内存法的时候也没有具体实现,所以笔者在这里具体实现一下- -,望指正。首先讲一下用到的一些方法。1.LockBits和UnlockBits:使用 LockBits方法,可在系统内存中锁定现有的位图,以便通过编程方式进行更改,每调用LockBits之后都应该调用一次UnlockBits。2.Scan0:...
C++ 不使用virtual实现多态

C++ 不使用virtual实现多态

不使用virtual实现多态可以用成员函数指针完成。成员函数指针形式:返回类型(A::*指针名)(形参表)其中A是类类型,即这个指针是指向A类的成员函数的函数指针例如:int(A::*P)(int,int)这是一个指向 “A类的带有两个int型形参且返回值是int的成员函数” 的指针,指针名是P。下面是代码:#include<iostream>using namespace std;class Base;typedef ...
Python中的编码与解码

Python中的编码与解码

编码与解码首先,明确一点,计算机中存储的信息都是二进制的编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显示00110101,还是要显示"a",但计算机怎么知道00110101是"a"呢,这就需要解码,当选择用ascii解码时,当计算机读到00110101时就到对应的ascii表里一查发现是"a",就显示为"a"编码:真实字符与二进制串的对应关系,真实...
HTML5本地存储Localstorage

HTML5本地存储Localstorage

什么是localstorage前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面传递参数,但没有考虑过cookie会带来什么问题:① cookie大小限制在4k左右,不适合存业务数据② cookie每次随HTTP事务一起发送,浪费带宽我们是做移动项目的,所以这里真实适合使用的技术是localstorage,localstorage可以说是对cookie的优化,使用它可以方便在客户端存储数据,并且不会随着HTT...
Python保留指定文件、删除目录其他文件的功能

Python保留指定文件、删除目录其他文件的功能

由于给客户的发布版本上客户改动了些代码和图片,我们这边给他们更新publish都是增量更新(开发提供更新指定的文件,我们提取出来给客户进行覆盖更新),但有时需要更新的文件较多导致不得不一个一个的进行查找、替换,工作量大而且容易出错。所以用python写个保留pulish后目录的指定文件、删除其他文件的功能。代码如下import osimport os.pathdef DeleteFiles(path,fileList): for parent,dirna...
Java 可变参数

Java 可变参数

Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,Java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,Java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。可变参数的特点:(1)、只能出现在参数列表的最后;(2)、...位于变量类型和变量名之间,前后有无空格...
快速排序的递归方式和非递归方式

快速排序的递归方式和非递归方式

我们知道快递排序大部分的版本都是递归的方式来实现的:通过Pritation来实现划分,并递归实现前后的划分。由于同学上次百度二面面试官问起快速排序的非递归的实现方式,当时同学不会,因为我们大部分看到的都是递归方式来实现快速排序。并没有关注非递归的方式。但是仔细想想也是可以做的,因为递归的本质是栈,因此我们非递归实现的过程中,借助栈来保存中间变量就可以实现非递归了。在这里中间变量也就是通过Pritation函数划分之后分成左右两部分的首尾指针,只需要保存这两...
Linux 两组信号对比

Linux 两组信号对比

之前看信号的时候,没有太注意不同信号的对比.今天再次看到的时候,突然感觉对一些信号,非常相似,乃至非常容易混淆.今天周末就抽空总结一下.第一组 关闭进程信号常见的4中关闭进程信号是SIGKILL,SIGINT,SIGTERM,SIGQUIT.SIGKILL,就是为了关闭进程用的,无法捕获以及忽略.场景是,管理员把一些占用资源的进程或者无法掌控的孤儿进程杀死.SIGINT,interrupt(中断)进程,这个是可以捕获以及忽略。可以使用ctrl+c发出信号,...
二叉树中和为某一值的路径

二叉树中和为某一值的路径

题目:输入一棵一二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二义树结点的定义如下:struct BinaryTreeNode{int m_nValue;BinaryTreeNode *m_pLeft;BinaryTreeNode *m_pRight;};思路:由于路径是从根结点出发到叶结点,也就是说路径总是以根结点为起始点,因此我们首先需要遍历根结点。在树的前序、中序、后序三种遍...
二叉搜索树的后序遍历序列详述

二叉搜索树的后序遍历序列详述

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。思路:在后序遍历得到的序列中,最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分:第一部分是左子树结点的值,它们都比根结点的值小;第二部分是右子树结点的值,它们都比根结点的值大。代码如下:bool VerifyBST(int squence[], int length){if (squence==...
从上往下打印二叉树详述

从上往下打印二叉树详述

题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入图中的二叉树,则依次打印出8、6、10、5、7、9、11。二叉树结点定义如下:struct BinaryTreeNode{int m_nValue;BinaryTreeNode *m_pLeft;BinaryTreeNode *m_pRight;};思路:每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的结...
使用Java数组实现顺序栈

使用Java数组实现顺序栈

1,首先总结一下线性表(分为顺序表和链接表,【即顺序存储结构和链式存储结构的区别】)和栈(顺序栈和链接栈)还有队列(顺序队列和链接队列)的JAVA类库中的实现:java.util.ArrayList 实现了顺序表,java.util.LinkedList 实现了链接表的功能。java.util.ArrayDeque实现了顺序栈和顺序队列(该类中即定义了与栈操作有关的方法,也定义了与队列操作有关的方法)、java.util.LinkedList实现了链接栈和...
使用Java数组实现顺序表

使用Java数组实现顺序表

1,引入了JAVA泛型类,因此定义了一个Object[] 类型的数组,从而可以保存各种不同类型的对象。2,默认构造方法创建了一个默认大小为16的Object数组;带参数的构造方法创建一个指定长度的Object数组3,实现的顺序表的基本操作有:返回表的长度、获取指定索引处的元素(注意是索引,而不是位置。索引以下标0开始,位置以下标1开始)、按值查找数据元素的位置、直接插入元素(顺序表尾部)、向指定位置插入元素、直接删除元素(在顺序表尾部)、删除指定索引处元素...
<< 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 >>