Visual Studio 远程调试 远程调试是Visual Studio中一个重要的功能,可以使我们能够在目标机子上进行调试。由于不同的电脑,运行环境不一样,所以可能导致编译好的程序在目标机子上运行不了,但是目标机子上又没有源代码,所以此时我们可以采用远程调试来进行。如调试虚拟机中的安装程序。1.拷贝远程调试工具到目标机器。 远程调试需要用到Visual Stuido的远程调试工具,Remot
数据结构之插入排序与希尔排序 1.直接插入排序 直接插入排序是一种最简单的排序算法,它的基本操作是将一个记录插入到已经排序好的序列中,从而得到一个新的有序表。直接插入排序算法原理如下图所示: 直接插入排序算法如下:void InsertSort(int arr[],int length){ int key,j; for(int i=1;i<length; i) { ke
平衡二叉树(AVL)的介绍及基本操作 平衡二叉树又称为AVL树,它或者是一颗空树,或者是具有下列性质的二叉树: (1)它的左子树和右子树都是平衡二叉树。 (2)左子树和右子树的深度之差的绝对值不超过1。 平衡二叉树中有一个重要的概念,平衡因子BF(Balance Factor)定义为该结点的左子树深度减去它的右子树的深度,根据平衡二叉树的性质可知,平衡因子只可能是-1、0和1。 A
二叉排序树(二叉查找树)的基本操作 二叉排序树的查找属于动态查找的范畴,根据查找过程中是否对表进行修改,可以把查找分为静态查找和动态查找。动态查找表的特点是:表结构本身是在查找过程中动态生成的,即对于给定的key值,若表中存在其关键字等于key的记录,则查找成功并返回,否则插入关键字等于key的记录。 二叉排序树或者是一颗空树,或者是具有下列性质的二叉树: (1)若它的左子树非空,则左子树上的所有结点的值
面试中常见的链表题汇总 链表是我们在编程中常用的一种数据结构,并且结构简单,因此在面试中会经常出现考察链表的题目,下面我们来看看面试中常见的一些关于链表的题目。首先了解一下链表的数据结构如下:注意:在编写代码时一定要记住边界条件的判断,这样才能够体现思维的严谨性。typedef struct ListNode{ int data; ListNode* next;}ListNode;1、计算单链表中节点的
openfire插件二次开发配置 openfire插件二次开发配置 openfire是一款基于XMPP协议开发的开源IM服务器框架,利用该框架可以快速开发出即时通信系统,并且该服务器可以通过插件开发来进行扩展,接下来我们就了解一下怎样来创建自己的插件。1、openfire源码配置这里就不再赘述,可以参照网上其他的相关资料,下载完openfire源码,源码目录为openfire_src编译完成后,找
C++编译器与链接器工作原理 这里并没不是讨论大学课程中所学的《编译原理》,只是写一些我自己对C++编译器及链接器的工作原理的理解和看法吧,以我的水平,还达不到讲解编译原理(这个很复杂,大学时几乎没学明白)。要明白的几个概念: 1、编译:编译器对源文件进行编译,就是把源文件中的文本形式存在的源代码翻译成机器语言形式的目标文件的过程,在这个过程中,编译器会进行一系列的语法检查。如果编译通过,就会把对应的CPP转换成O
不定参数的应用 不定参数的应用不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多。除了格式化输出之外,我实在没看到多少应用。主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替换它。尽管如此,既然大家对它比较感兴趣,我就简单总结一下它的使用和需要注意的常见问题。原理刚学C语言的时候,一般人都会首先接触printf函数。通过这个函数,你可以打印不定个