-
java 中ArrayList与LinkedList性能比较
所属栏目:[经验] 日期:2020-12-31 热度:148
java 中ArrayList与LinkedList性能比较 今天看一框架的代码,看到有些 可以使用ArrayList的地方 使用的是 LinkedList,用到的情景是在一个循环里面进行顺序的插入操作。 众所周知java里面List接口有两个实现ArrayList 和 LinkedList,他们的实现原理分别是c[详细]
-
精彩回顾!Visual Studio 2017正式版发布全纪录
所属栏目:[经验] 日期:2020-12-31 热度:103
又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017。同时发布的还有 .NET Core Tooling 1.0 .NET Core Microservice instance Visual Studio for MAC prev[详细]
-
麻将游戏算法深入解析及实现代码
所属栏目:[经验] 日期:2020-12-31 热度:191
麻将游戏算法深入解析及实现代码 这两天为了工具箱的完善,整理了这些年引擎开发的一些资料,无意中发现06年写的一个麻将算法,编译运行了一下,还是有点意思的,拿出来整理一下分享给大家。 麻将是一种大家最喜爱的娱乐活动之一,相信所有人都有接触过。我[详细]
-
内存溢出和内存泄漏的详解及区别
所属栏目:[经验] 日期:2020-12-31 热度:198
内存溢出和内存泄漏的详解及区别 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法[详细]
-
Linux中find命令的用法汇总
所属栏目:[经验] 日期:2020-12-31 热度:151
Linux系统中的 find 命令在查找文件时非常有用而且方便。它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。在这篇文章中,我们将学习如何使用 find 命令以及它所提供的选项来查找文件。 在绝大多数Linux发行版中,你都可以[详细]
-
Visual Studio 2017安装心得总结
所属栏目:[经验] 日期:2020-12-31 热度:118
既然VS2017已经发布了,就想安装一下试试,先卸载VS2015, 网上有个完全卸载的东东,https://github.com/Microsoft/VisualStudioUninstaller/releases 听说安装完VS2017需要60G,我的C盘不够,只能用虚拟机安装了。 下载地址:https://www.visualstudio.com/[详细]
-
Visual Studio 2017正式版发布 亮点看这里
所属栏目:[经验] 日期:2020-12-31 热度:50
Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试、实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航、IntelliSense、重构、代码修复和调试等等。无论使用哪种语言或平台,都能节省开发者在日常任务上花费的时间和精力。[详细]
-
数据结构 双向链表的创建和读取详解及实例代码
所属栏目:[经验] 日期:2020-12-31 热度:98
数据结构 双向链表的创建和读取 双向链表是为了满足更加方便的查找前驱,而付出空间的代价的一个数据结构。双向链表的节点定义如下: typedef struct node { int x; struct node *prior,*next; }DLNode; 双向链表的空间结构如下图所示: 双向链表的创建如下[详细]
-
浅谈do {...} while (0) 在宏定义中的作用
所属栏目:[经验] 日期:2020-12-31 热度:148
如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。 下面[详细]
-
关于win32 gettimeofday替代方案
所属栏目:[经验] 日期:2020-12-31 热度:186
来自nginx代码: voidngx_gettimeofday(struct timeval *tp){ uint64_t intervals; FILETIME ft; GetSystemTimeAsFileTime( /* * A file time is a 64-bit value that represents the number * of 100-nanosecond intervals that have elapsed since * Janua[详细]
-
实现一个内存池管理的类方法
所属栏目:[经验] 日期:2020-12-31 热度:123
模拟STL中的freelist,有这个思想在内。 union obj{ union obj* next; char p[1]; };class MemoryPool{ public: MemoryPool() { union obj* temp; m_memory.assign(5,(union obj*)NULL); for(int i=0;im_memory.size();i++) { for(int j=0;jm_memory.size();j[详细]
-
一个string类的简单实现案例
所属栏目:[经验] 日期:2020-12-31 热度:141
string类中使用到了赋值构造函数、复制构造函数、构造函数、默认构造函数、析构函数、重载操作符等一些类操作 class String{public:String(){data = new char[1]; //这里为什么使用new char[1]呢,虽然是一个字符,这是为了和析构函数保持对称,因为在别的构[详细]
-
页面中加载优酷视频去掉广告的方法
所属栏目:[经验] 日期:2020-12-31 热度:120
1.优酷视频去广告代码: embed src=" http://static.youku.com/v1.0.0149/v/swf/qplayer_rtmp.swfVideoIDS=你的视频IDisAutoPlay=true" quality="high" width="宽度" height="高度" align="middle" type="application/x-shockwave-flash"/embed 2.视频调整是[详细]
-
浅谈十进制小数和二进制小数之间的转换
所属栏目:[经验] 日期:2020-12-31 热度:184
一、二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。 二、十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以[详细]
-
浅谈带缓冲I/O 和不带缓冲I/O的区别与联系
所属栏目:[经验] 日期:2020-12-31 热度:108
这里搜集从网上看到的一些言论,自认为还是比较靠谱的,有些不靠谱的根据自己的理解进行了修正。 首先要明白不带缓冲的概念: 所谓不带缓冲,并不是指内核不提供缓冲,而是只单纯的系统调用,不是函数库的调用 。系统内核对磁盘的读写都会提供一个块缓冲(在[详细]
-
浅谈哈希表存储效率一般不超过50%的原因
所属栏目:[经验] 日期:2020-12-31 热度:66
本文主要是讲"哈希表的存储效率一般不超过50%"的原因。 Hash Table 常用于频繁进行 key/value 模式的查找中。(查找模式,如匹配查找) 哈希表最大的优点在于查找速度快,但存储时可能发生collision(冲突)。 哈希表大多使用open addressing来解决collision,此[详细]
-
MySQL 设计和命令行模式下建立详解
所属栏目:[经验] 日期:2020-12-31 热度:147
MySQL 设计和命令行模式下建立详解 系列文章: MySQL 设计和命令行模式下建立详解 C++利用MySQL API连接和操作数据库实例详解 1.数据表的设计 MySQL数据库管理系统(DBMS)中,包含的MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种[详细]
-
String类的写时拷贝实例
所属栏目:[经验] 日期:2020-12-31 热度:61
实例如下: #includeiostreamusing namespace std; class String;ostreamlt;(ostream s);//引用计数器类class String_rep { friend class String; friend ostreamlt;(ostream s);public: String_rep(const char *str ) :use_count(0) { if (str == NULL) { d[详细]
-
C++中的四个默认成员函数与运算符重载详解
所属栏目:[经验] 日期:2020-12-31 热度:158
本文主要给大家介绍了关于C++默认成员函数与运算符重载的相关内容,分享出来公的敬爱啊参考学习,话不多说,来一起看看详细的介绍: 一:类和对象的基础知识:类的定义,访问限定符,面向对象封装性,对象的大小计算等等。(编译环境为VS2015) 面向对象程序[详细]
-
C++数据精度问题的解决方案(对浮点数保存指定位小数)
所属栏目:[经验] 日期:2020-12-31 热度:148
1、背景 对浮点数保存指定位小数。比如, 1.123456. 要保存1位小数,,调用方法后, 保存的结果为: 1.1。 再比如,1.98765, 保存2位小数的结果为: 2.00. 2、 解决方案 A、添加头文件 #include sstream #include iomanip B、添加命名空间 using namespace s[详细]
-
利用C++如何覆盖或删除指定位置的文件内容
所属栏目:[经验] 日期:2020-12-31 热度:63
前言 最近在工作中遇到一个问题,需要覆盖或者删除指定位置的文件内容,发现网上这方面的资料较少,无奈只能自己解决,下面将自己解决的方法分享给大家,方便大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、覆盖指定位置的文件内容 我们经常使[详细]
-
C语言中字符串的存储方法
所属栏目:[经验] 日期:2020-12-31 热度:187
众所周知,C语言中没有数据类型能够存储字符串,char数据类型仅仅能够存储一个字符的数据,那么在C语言中关于存储字符串这一难题我们改何去何从呢? 下面将详述相关的字符串存储方法; 1、使用字符数组存; [root@Qrui ruiy]##includestdio.hint main(int argc,[详细]
-
C语言数据结构 快速排序实例详解
所属栏目:[经验] 日期:2020-12-31 热度:188
C语言数据结构 快速排序实例详解 一、快速排序简介 快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序。 二、代码实现 #include stdio.h/* 将两个数据交换 */void swap(i[详细]
-
C/C++中输入多组数据的方法
所属栏目:[经验] 日期:2020-12-31 热度:93
如果在刚开始学习算法,做算法题的时候,题上经常会要求输入多组数据,对于刚开始学习的小白来说,可能不知道怎么算输入多组数据,也不知道该怎么处理,刚好想起来,就把方法记录一下 怎么算输入多组数据? 一般题中要求输入多组数据的意思就是读取数量不定[详细]
-
C语言中strlen() strcpy() strcat() strcmp()函数的实现方法
所属栏目:[经验] 日期:2020-12-31 热度:85
strlen函数原型: unsigned int strlen(const char *); 返回的是字符串中第一个 之前的字符个数。 1.strcat函数原型 char* strcat(char* dest,const char* src); 进行字符串的拼接,将第二个字符串连接到第一个字符串中第一个出现 开始的地方。返回的是拼接[详细]