自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jirryzhang的博客

厚积薄发,勤能补拙

  • 博客(12)
  • 资源 (5)
  • 收藏
  • 关注

原创 常用数据结构各个常用操作的性能对比

数据结构包括数组、链表、栈、二叉树、哈希表等等数据结构优点缺点数组插入快查找慢、删除慢、大小固定有序数组查找快插入慢、删除慢、大小固定栈后进先出存取其他项很慢队列先进先出存取其他项很慢链表插入、删除快查找慢二叉树查找、插入、删除

2018-01-29 21:14:49 5285

原创 C/C++的复杂声明

C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start readin

2018-01-29 20:05:29 246

原创 typedef的用法详解

第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针

2018-01-29 19:59:50 728

原创 递归解决汉诺塔问题C++

#include using namespace std;void TowersOfHanoi(int n, int x, int y, int z){ //把n 个碟子从塔x 移动到塔y,可借助于塔zif (n > 0) { TowersOfHanoi(n-1, x,z,y); cout << "Move top disk from tower " << x <<" to top o

2018-01-26 15:56:48 1219

原创 vector的size(),capacity(),max_size()的用法和区别

在Vector容器中有以下几个关于大小的函数方法效果size()返回容器的大小empty()判断容器是否为空max_size()返回容器最大的可以存储的元素capacity()返回容器当前能够容纳的元素数量#include #include #include

2018-01-26 14:40:49 3471

原创 C++中负数的二进制表示(内存中的存储形式)

首先,我们看一下这个数轴,8位二进制表示数值型数据,它应该是落在0~256(不含 256)区间上,当这个数落在0~128(不含128)区间上时,我们说它是一个正数,至于正多少取决于这个数从0点往右走了多少。如:+33对应的二进制是00010001   如果这个数落在后半轴上,也就是128~256(不含256)区间上时,我们说它是一个负数,至于负多少取决于它离终点256还差多少。如:156表示就不再

2018-01-25 21:07:09 2219

原创 数组名的一些结论

对于数组char a[10]=“abc”:数组名a可以作为数组的首地址,而&a是数组的指针.a+1指向a[0]的下一个元素a[1],&a+1指向下一个具有10个元素的char数组的首地址,也就是a的地址加10*1个字节。数组有n个元素,每个元素m个字节,则sizeof(数组名)=m*n. 所以sizeof(a)=10*1=10,sizeof(a[0])=1.而strlen(a)=3.

2018-01-24 17:14:06 213 1

原创 腾讯秋招笔试题答案

1.#include #include using namespace std;char str[101];int base[4];int main(){ while(cin>>str) { int len = strlen(str); base[3] = 1; for(int i=2;i>=0;i--)

2018-01-23 22:23:42 704

原创 union和struct大小

1、字节对齐的细节和编译器实现相关,但一般而言,如在windows下,就VC而言,满足一下三个准则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);即:在默认情况下,VC规定各成员变量存放的起始地址相对于结构的起

2018-01-22 22:31:21 223

原创 内存对齐的规则

内存对齐的3大规则:对于结构体的各个成员,第一个成员的偏移量是0,排列在后面的成员其当前偏移量必须是当前成员类型的整数倍结构体内所有数据成员各自内存对齐后,结构体本身还要进行一次内存对齐,保证整个结构体占用内存大小是结构体内最大数据成员的最小整数倍如程序中有#pragma pack(n)预编译指令,则所有成员对齐以n字节为准(即偏移量是n的整数倍),不再考虑当前类型以及最大结构体内类型

2018-01-22 21:01:12 311

原创 线性结构说明

线性结构是一个有序数据元素的集合。常用的线性结构有:线性表,栈,队列,双队列,数组,串。关于广义表,是一种非线性的数据结构。常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图。特征1.集合中必存在唯一的一个"第一个元素";2.集合中必存在唯一的一个"最后的元素";3.除最后元素之外,其它数据元素均有唯一的"后继";4.除第一元素之外,

2018-01-22 20:58:13 857

原创 常用排序方法总结

常用的排序有简单插入排序,希尔排序,简单选择排序,冒泡排序,归并排序,堆排序还有快速排序。其中稳定的排序有:简单插入排序,冒泡排序,归并排序。不稳定的有:希尔排序,简单选择排序,堆排序,快速排序。时间复杂度为O(n²)的:简单选择排序,简单插入排序,冒泡排序。时间复杂度为O(nlogn)的:快速排序,堆排序,归并排序。其中最快的一般为快速排序,但是如果是有序

2018-01-19 21:39:28 291

qt实现导航栏Demo

qt实现的导航栏demo,带切换特效,选中换色,选中条样式,渐变色,接口丰富,移植性和自定义性很强,QT4.8+VS2010编译通过。

2017-04-24

QZXing解读二维码

QZXing解读二维码

2017-04-21

QT导航栏DEMO

利用qt treeWidget stackedWidget开发的类似导航栏的效果

2017-04-21

qt根据输入内容生成二维码

qt根据输入内容生成二维码,VS2010+QT4.8编译

2017-04-21

C++实现的Udp发送端源码

C++实现的UDP发送端源码,和另一份接收端的源码配合,编辑即用

2016-12-11

空空如也

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

TA关注的人

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