自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (10)
  • 收藏
  • 关注

原创 STL中map/vector的删除元素操作

在我们使用C++中的STL的时候,可以使用迭代器iterator进行遍历,但是当我们通过iterator对vector和map删除元素的时候,要格外的小心,往往操作不当,导致iterator失效,后果就是程序奔溃。    1. 对于vector,erase会返回下一个iterator。所以一般采用的方法是:     因为在使用erase的时候,删除元素前面的iterator有效,但是后

2017-04-07 23:37:45 4773

原创 C++类的静态变量的初始化

C++类的静态变量注意事项:1.类的静态变量首先是存在于任何对象之外,它不属于任何一个类,所以对象中不包含任何与静态数据成员有关的数据。2.静态成员函数不与任何对象绑定在一起,它们不包含this指针。使用静态变量:1. 使用作用域运算符直接访问静态成员;2. 类的对象、引用和指针能够访问静态变量;定义静态成员:1. 类似于全局变量,静态变量一

2017-01-15 12:36:34 7314 1

原创 Enterprise Architect初步入门

使用Enterprise Architect画UML类图

2017-01-15 11:49:31 23909 12

原创 C++安全函数之strcat_s

C++安全函数之strcat_s1.必须包含的头文件:2.函数申明:errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource );3.参数介绍strDestinationNull 终止的目标字符串缓冲区。numberOfEl

2016-09-16 09:31:44 24319

原创 C++安全函数之strcpy_s

C++安全函数之strcpy_s1.  必须包含的头文件:2.  函数声明:errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource ); 3.  参数介绍strDestination目标字符串缓冲区的位置。numberOf

2016-09-16 09:11:46 27806 2

原创 C++之重写String类

C++之重写String类       有时候听完课程,不一定就能够领悟,所以还是要多加练习,今天在听了老师讲的C++关于类的构造函数,默认构造函数,类的拷贝函数(浅拷贝/深拷贝),类的析构函数,以及运算符的重载。感觉在课堂是听懂了,但是在自己编码的过程中还是遇到了很多的困难,但strcpy_s,strcat_s一些安全函数的使用,引用和传值的区别等等,以下是今天实现的代码:       

2016-09-16 08:25:48 5307 1

转载 探讨C++中对象的“浅拷贝”与“深拷贝”

C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:

2016-09-15 23:50:44 298

原创 【C Primer Plus 第六版】笔记

1.  使用const 代替 #define 定义常量原因:(1)const 声明显示指明了类型;(2)const可以很方便的用于复合类型,比如是数组等;(3)作用域规则,const可以创建为全局,名称空间以及数据块的常量。2. 使用inline而不是#define 来定义小型函数3. 头文件 #pragma once   这是一个比较常用的C/C++杂注,只要在头文件的最开始加入

2016-09-15 21:25:08 2381

原创 namespace在大型项目中的使用

命名空间namespace     namesapce命名空间是在大型项目开发中,为了避免命名冲突而引入的一种机制,比如说,在一个大型项目中,要用到多家软件开发商提供的类库。在事先没有约定的情况下,两套类库可能存在同名的函数或者是全局变量而产生冲突。项目越大,用到的类库越多,开发人员越多,这样的冲突也就越明显。      所以在C++中,为了避免这种问题的发生,引入了命名空间,namesp

2016-09-15 19:28:54 2000

转载 C语言之memset函数的使用

转自:老生常谈,正确使用memset本文归纳了下使用memset几个需要注意的地方,虽然内容很简单,但也希望对大家有所帮助。1. memset是以字节为单位,初始化内存块。当初始化一个字节单位的数组时,可以用memset把每个数组单元初始化成任何你想要的值,比如:char data[10]; memset(data, 1, sizeof(data));

2016-08-28 22:10:44 15552

转载 【排序算法】计数排序

转载来自:计数排序之Java实现计数排序算法介绍比较排序算法可以通过决策树模型证明,其下线是O(nlgn)。而本文介绍的是时间效率为O(n)的计数排序。所谓排序算法,无非就是把正确的元素放到正确的位置,计数排序就是计算相同key的元素各有多少个,然后根据出现的次数累加而获得最终的位置信息。但是计数排序有两个限制条件,那就是存在一个正整数K,使得数组里面的所有元素的key值都不大

2015-09-19 22:02:36 538

转载 【排序算法】总结

转载来自于:九大排序算法再总结排序的定义:输入:n个数:a1,a2,a3,...,an输出:n个数的排列:a1',a2',a3',...,an',使得a1'In-place sort(不占用额外内存或占用常数的内存):插入排序、选择排序、冒泡排序、堆排序、快速排序。Out-place sort:归并排序、计数排序、基数排序、桶排序。当需要对大量数据进行排

2015-09-19 15:50:46 419

原创 【排序算法】希尔排序

希尔排序--不需要大量的辅助空间,和归并排序一样容易实现。希尔排序是基于插入排序的一种算法, 在此算法基础之上增加了一个新的特性,提高了效率。    先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2  =1(    …    一般的初次取序列

2015-09-19 09:56:12 675

原创 【排序算法】冒泡排序

冒泡排序算法的运作如下:(从后往前) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。       冒泡排序--Java实现       /

2015-09-19 09:48:05 515

原创 【算法分析】寻找多数元素

解决问题:在一个整数序列A中,如果整数r在A中出现的次数大于序列A的一半,那么我们把这个r成为多数元素。如何更快的找出这个元素呢?

2015-09-08 15:13:17 4140

转载 【数据结构】图

转载来自:数据结构之图一、基本术语图:由有穷、非空点集和边集合组成,简写成G(V,E);Vertex:图中的顶点;无向图:图中每条边都没有方向;有向图:图中每条边都有方向;无向边:边是没有方向的,写为(a,b)有向边:边是有方向的,写为有向边也成为弧;开始顶点称为弧尾,结束顶点称

2015-09-04 15:43:54 442

转载 【数据结构】图的遍历

转载来自:深度优先搜索与广度优先搜索

2015-09-03 22:58:04 481

原创 【排序算法】堆排序

package sort.algorithm.heap;public class Heap{ // 堆排序,它组合了归并排序的时间效率和快速排序的控件效率。和归并排序一样,堆排序 // 的最差情况运行时间为O(nlogn),和快速排序一样它不需要额外的数组 public static void heapsort(int[] data, int n) { int unsorte

2015-08-28 09:43:17 437

原创 【排序算法】快速排序

package sort.algorithm.quick;public class Quick{ // 快速排序的最坏情况运行时间是O(n^2),但快速排序的平均情况运行时间和最好情况运行时间都是O(nlogn) public static void quicksort(int[] data, int first, int n) { int pivotIndex; int n1

2015-08-28 09:41:39 339

原创 【排序算法】归并排序

package sort.algorithm.merg;public class Merg{ // 归并算法--划分解决排序 // 归并排序的最坏情况运行时间、平均情况运行时间以及最好情况运行时间都是O(nlogn) // 归并排序的最坏情况运行时间是O(nlogn),而快速排序的最坏情况运行时间是O(n^2).但是归并排序需要更多的存储空间,因为它 // 需要一个额外的数组 pu

2015-08-28 09:38:43 451

原创 【排序算法】插入排序

package sort.algorithm.insert;public class Insert{ // 处理的方法是:每次获得一个元素,构建另一个有序列表。使用一个数组就足够了, // 如果有十个位置,一个列表可以保存在数组的头部,而另一个列表可以保存在数组 // 的尾部。 // 插入排序的最坏情况是O(n^2) public static void insertSort(

2015-08-28 09:36:40 371

原创 【排序算法】选择排序

package sort.algorithm.select;public class Select{ // 选择排序的最差情况运行时间是O(n^2) public static void selectionSort(int[] data) { int length = data.length; int max; int temp; for (int i = 0;

2015-08-28 09:34:06 346

转载 N皇后 问题

本内容转载来自:点击打回溯法求解N皇后问题(Java实现回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并以此慢慢地扩大问题规模,迭代地逼近最终问题的解。这种迭代类似于穷举并且是试探性的,因为当目前的可能答案被测试出不可能可以获得最终解时,则撤销当前的这一步求解过程,回溯到上一步寻找其他求解路径。为了能够撤销当前的求

2015-07-11 11:16:09 347

原创 【数据结构】栈的链表实现

import java.util.EmptyStackException;public class LinkedStack implements Cloneable{ private Node top; public LinkedStack() { top = null; } public LinkedStack clone() { LinkedStack ans

2015-07-10 11:27:11 397

原创 【数据结构】栈的数组实现

import java.util.EmptyStackException;public class ArrayStack implements Cloneable{ private T[] data; private int manyItems; // 默认构造函数 public ArrayStack() { final int INITIAL_CAPACITY = 10;

2015-07-10 11:22:47 335

原创 【数据结构】复杂表达式的求值

一、表达式的三种表示法1.  中缀表示法      运算符放在两个运算对象中间,这是我们书写的时候最熟悉的一种形式,如:(2 + 3)* 72.  前缀表示法     前缀是附加在表达式前面的内容。又称为波兰前缀表示法,因为他是由波兰数学家Jan Lukasiewicz发明的。使用前缀表示法后,就完全不需要括号了。例如,表达式(2 + 3)*  7以波兰前缀表示法可以写成: *

2015-07-09 10:57:41 1612

转载 深入剖析Java中的装箱和拆箱

本内容转载自:深入剖析JAVA中的装箱和拆箱一.什么是装箱?什么是拆箱?  在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料。在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:1

2015-07-08 14:56:58 577

原创 【数据结构】利用栈来求算术表达式的值

import java.util.Scanner;import java.util.Stack;import java.util.regex.Pattern;public class CalculateUtils{public static final Pattern UNSIGNED_DOUBLE = Pattern.compile("((\\d+\\.?\\d*

2015-07-03 17:10:05 896

转载 【正则表达式】正则表达式

内容转载来自:正则表达式30分钟教程内容转载来自:JAVA正则表达式详解

2015-07-03 12:16:29 1828

转载 【数据结构】Java单链表的逆序

内容转载来自:单链表逆序        第二个题目是很经典的“单链表逆序”问题。很多公司的面试题库中都有这道题,有的公司明确题目要求不能使用额外的节点存储空间,有的没有明确说明,但是如果面试者使用了额外的节点存储空间做中转,会得到一个比较低的分数。如何在不使用额外存储节点的情况下使一个单链表的所有节点逆序?我们先用迭代循环的思想来分析这个问题,链表的初始状态如图(1)所示:

2015-07-02 11:48:03 4309

转载 深入JAVA核心 JAVA内存分配原理精讲

深入JAVA核心 JAVA内存分配原理精讲内容转载来自:深入JAVA核心 JAVA内存分配原理精讲内容概要:    栈、堆、常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,详细讲解Java内存分配方面的知识。Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,

2015-07-01 11:56:11 470 1

原创 Java中的克隆clone以及对数组的复制

一、浅克隆和深克隆    1. 浅克隆(shadow clone)    只需要复制对象的字段值,对于8种基本类型,如int,long,float等,则复制值;对于复合数据类型仅复制该字段值,如数组则复制地址,对于对象变量则复制对象的reference。    2.深克隆(deep clone)    深克隆和浅克隆的区别在于复合数据类型的复制。若对象中的某个字段为复合类型,在克隆

2015-06-26 16:44:30 1027

原创 Eclipse安装windowbuilder插件,实现Java的可视化编程

一、利用Windowbuilder插件的好处 利用Windowbuilder插件,一个好处就是能够任意拖动控件,实现一个可视化的界面设计;第二个好处就是能够提高开发的效率,因为在你拖动控件后,代码会自动生成。对于初学者来说还是多去了解Swing的框架结构,自己多去敲写代码。二、windowbuilder插件windowbuilder可以在Eclipse的官网上面找到对应的链接

2015-06-04 22:01:59 959

转载 JVM内存的设置

一、JVM内存的设置的原理默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。java -Xms64m -Xmx256m Test-Xms是设置内存初始化的大小-Xmx是设置最大能够使用内存的大小(最好

2015-04-08 10:43:45 512

原创 Java Swing 双缓冲技术解决图像闪烁问题

我们看电视时,看到的屏幕称为OSD层,也就是说,只有在OSD层上显示图像我们才能看到。现在,我需要创建一个虚拟的、看不见但是可以在上面画图(比如说画点、线)的OSD层,我称之为offscreen(后台缓冲区)。这个offscreen存在于内存中,我们在上面画图,这个offscreen上面的东西可以显示在OSD层上,需要一个创建这个offscreen的函数,返回这个offscr

2015-03-17 09:57:18 11415

游戏编程中的人工智能技术

游戏编程中的人工智能技术,这本书系统的降了游戏编程中用的智能算法

2015-06-03

MATLAB神经网络30个案例分析源代码

MATLAB神经网络30个案例分析源代码,对于神经网络研究很有帮助

2015-06-03

德州扑克AI研究(中文)

国内不多的关于德州扑克Ai研究方面的论文

2015-06-03

DBCP资源池使用jar包

DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。 单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar 由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

2015-03-17

LED灯呼吸(所提出2层a60s2)

LED灯呼吸 STC12C5A60S2 单片机 利用pwm波

2011-08-09

单片机用ADC0832进行数据采样,12864液晶显示

单片机用ADC0832进行数据采样,12864液晶显示。程序及电路图都在压缩文件里面。

2011-08-09

带字库12864液晶(st7920)字幕滚动显示

带字库12864液晶(st7920)字幕滚动显示

2011-08-09

2011年全国大学生电子设计竞赛预测试题

2011年全国大学生电子设计竞赛预测试题.doc

2011-08-09

STC12c5a60s2自带AD转换程序

STC12C5A60S2自带AD程序,利用12864显示。AD有查询方式和中断方式。

2011-08-09

protues学习资料

帮助初学者仿真电路,描述详细。。望认真学习

2010-07-24

空空如也

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

TA关注的人

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