自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员面试精选【codeoffer】

公众号【codeoffer】

  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

转载 C++内存管理详解

By ShinChan Published Sep 25 2014Contents1. 内存分配方式1.1. 简介1.2. 明确区分堆与栈1.3. 堆和栈究竟有什么区别2. 控制C++的内存分配2.1. 重载全局的new和delete操作符2.2. 为单个的类重载new[]和delete[]3. 常见的内存错误及其对策4. 针与数组的

2017-05-25 20:58:45 209

原创 C++数组替代品之vector&array用法浅析

1、模板类vector1.1 基本定义及操作vector是一种动态数组,可在运行阶段设置vector对象的长度,可在末尾附加数据也可在中间插入数据,它使用new和delete来管理内存。首先,要使用vector对象,必须包含头文件vector。其次,vector包含在名称空间std中,可使用using编译指令、using声明或std::vector第三,模板使用不同的语法来指出

2017-05-24 21:14:02 998

转载 设计模式之单例模式的介绍及C++实现

单例模式目录单例模式模式动机模式定义模式结构时序图代码分析模式分析实例优点缺点适用环境模式应用模式扩展总结1. 模式动机对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如何保证一个类只有一个实

2017-05-21 22:28:57 258

原创 排序算法之快速排序的C++实现

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试题。该方法的基本思想是:1.先从数列中取出一个数作为基准数,一般取第一个数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。虽然快速排序称为

2017-05-16 22:08:56 432

原创 排序算法之希尔排序的C++实现

希尔排序其实是直接插入排序的一种优化,不过是增加了一个步长进行分组插入罢了,又称为缩小增量排序。其基本思想:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待gap=1时,再对全体元素进行一次直接插入排序,数组便是有序的了。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比直接插

2017-05-16 10:22:58 996

原创 每日一练之Longest Common Prefix【LeetCode No.14】——求字符串的最长公共前缀

题目:Write a function to find the longest common prefix string amongst an array of strings.分析:只需用第一个字符串与后面的进行比较,最大长度不能大于第一个字符串的长度class Solution {public: string longestCommonPrefix(vector& s

2017-05-15 22:36:55 657

原创 简单排序算法之选择排序、直接插入排序和冒泡排序

简单排序包括简单选择排序、直接插入排序和冒泡排序。时间负责度均为O(n2).1、 简单选择排序(Selection sort)——不稳定基本思想:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 Templatevoid SelectS

2017-05-15 11:31:57 1332

转载 常见排序算法的稳定性分析和结论

首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐

2017-05-15 10:42:45 1353

原创 Win7如何简单的关闭445端口及445端口入侵详解

最近永恒之蓝病毒攻击了很多教育网的同学,下面我们就来看一下如何关闭445端口根据网络安全机构通报,这是不法分子利用NSA黑客武器库泄漏的“永恒之蓝”发起的病毒攻击事件。“永恒之蓝”会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。由于以前国内多次爆发利用445端口传播的蠕虫,运

2017-05-13 11:07:03 248547 17

原创 每日一练之poor pigs【leetcode No.458】——猪测毒问题

There are 1000 buckets, one and only one of them contains poison, the rest are filled with water. They all look the same. If a pig drinks that poison it will die within 15 minutes. What is the minimum

2017-05-12 11:38:30 1623

原创 C++中const,define和static的区别

C++中不但可以用define定义常量还可以用const定义常量,它们的区别如下:#define MAX 255用#define定义的常量是没有类型的,所给出的是一个立即数,编译器只是把所定义的常量值与所定义的常量的名字联系起来,define所定义的宏变量在预处理的时候进行替换,在程序中使用到该常量的地方都要进行拷贝替换;Const float MAX =255; 用const定义

2017-05-09 16:54:11 1541

转载 Java和C++区别

文章作者:未知  文章来源:水木森林1.指针 java语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说java没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于java程序的安全。 2.多重继承 c++支持多重继承,这是c++

2017-05-08 22:12:13 213

原创 C++函数之函数模板浅析

函数模板是通用的函数描述,也就是说他们使用泛型来定义函数,其中泛型可以用具体的类型代替。通过将类型作为参数传递给模板,可使编译器生成该类型的函数。由于模板允许以泛型的方式编写程序,因此也被称为通用编程。注意:模板定义本身不参与编译,而是编译器根据模板的用户使用模板时提供的类型参数生成代码,再进行编译,这一过程被称为模板实例化。用户提供不同的类型参数,就会实例化出不同的代码。1、

2017-05-07 18:14:57 287

原创 C++虚函数之虚函数表浅析

C++  “虚函数”的存在是为了实现面向对象中的“多态”,即父类类别的指针(或者引用)指向其子类的实例,然后通过父类的指针(或者引用)调用实际子类的成员函数。通过动态赋值,实现调用不同的子类的成员函数(动态绑定)。正是因为这种机制,把析构函数声明为“虚函数”可以防止在内存泄露。 为了支持虚函数机制,编译器为每一个拥有虚函数的类的实例创建了一个虚函数表(virtual table),这个表中

2017-05-05 16:28:57 337

原创 每日一练之Roman to integer & integer to Roman【LeetCode No.12,13】

Integer to RomanGiven an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.Subscribe to see which companies asked this question.class Solution

2017-05-04 16:55:38 259

原创 C++函数之类的虚函数和纯虚函数区别与详解

C++面向对象语言的一大特性就是抽象,在程序设计上的体现就是鼓励面向接口编程,而不要面向具体实现编程。这里所说的抽象和接口与C++的多态性密切相关。C++的多态分为静态多态(编译时多态)和动态多态(运行时多态)两大类。静态多态通过重载、模板来实现;动态多态就是通过本文的主角虚函数来体现的。虚函数是C++语言一个非常重要的特性,不同编译器对此特性的实现机制也略有差别,虚函数在某些情况下对程序的占用内

2017-05-03 20:57:12 493

原创 C++函数之类的构造函数与析构函数

构造函数C++的目标之一是让使用类对象就像使用标准类型一样方便。而类的构造函数专门用于构造新对象、将值赋给它们的数据成员。更准确的说,C++为这些成员函数提供了名称和使用方法,而程序员需要提供方法定义。构造函数的原型和函数头虽然没有返回值但也没有声明void类型,其实构造函数是没有声明类型的。构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作, 当创建对象时, 对象会自动调用它的

2017-05-01 15:06:56 435

微信公众号开发源码分享

微信公众号开发源码,包括消息自动回复,聊天机器人,天气预报,菜单开发,数据库操作,翻译功能等基础功能

2020-07-30

libsvm gridregression.py

libsvm gridregression.py 放在C:\libsvm-2.xx\python里面就可以了

2017-11-02

空空如也

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

TA关注的人

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