自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

点滴的岁月

学习中的点滴

  • 博客(138)
  • 资源 (8)
  • 收藏
  • 关注

转载 Java垃圾回收机制

今天刚好在学习c++的垃圾回收算法,顺便转了一篇Java的垃圾回收文章。第一篇http://www.cnblogs.com/laoyangHJ/articles/java_gc.html垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾回

2016-10-07 16:50:55 268

原创 c++经典的垃圾回收算法介绍

我们知道c++程序设计里面的内存分配有三种方法:1.即全局变量和静态变量,这些都是存储在静态存储区,生存的周期就是程序运行的周期当程序结束,才释放这些存储空间。2.函数内部的局部变量,这些都是在栈上分配,生存周期是该变量所在的函数的运行周期,函数调用结束,这些存储空间自动释放。3.动态分配存储空间,在c语言里面我们是通过malloc,free来完成动态存储分配与释放,在c++里是通过n

2016-10-07 16:24:06 1848

原创 c++没有垃圾回收机制的原因

我们知道Java有垃圾回收(Gabage Collector)机制,但c++没有这样的机制,这导致C++中对动态存储的管理成为程序员的噩梦,不是吗?c++程序员经常遇到的是内存泄露(memory leak)和非法指针存取,这一定令人很头疼,但我们又不能抛弃指针带来的灵活性。      作为支持指针的编程语言,C++将动态管理存储器资源的便利性交给了程序员。在使用指针形式的对象时(请注意

2016-10-07 15:31:04 5436

原创 c++迭代器的学习

C++迭代器是一种检查容器内元素并遍历元素的数据类型。标准库为每一种标准容器(包括 vector)定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素,即使对支持下标操作的 vector 类型也是这样。这样带来的好处是在

2016-10-03 20:01:17 604

原创 C++ 隐式类型转换

C++定义了一组内置的类型对象之间的标准转换,在必要时它们被编译器隐式的应用到对象上。1.算术转换进行算术运算(加、减、乘、除、取余以及符号运算)时,不同类型数招必须转换成同 一类型的数据才能运算,算术转换原则为:整型提升:对于所有比int小的类型,包括char, signed char, unsigned char, short, unsigned short,首先会提升为int类型

2016-10-03 09:11:12 452

原创 U盘安装系统----缺少所需的CD/DVD驱动器设备驱动程序

用U盘启动盘安装系统,首先用软碟通制作启动盘。惠普电脑安装开机的时候,按F9 选择USB启动即可!如果不行的話 开机时按F2或者F10 进入高级设置,英文好像是advanced 选择first什么的,再选择带usb的那个选项即可然后按F10保存,选OK 即可。但我遇到了 ,提示‘缺少所需的CD/DVD驱动器设备驱动程序’”的问题。可能的几个优先解决办法:1.看看自己的U

2016-08-31 21:43:03 8318 1

原创 Unix网络编程之-------unp.h头文件详细配置-1

unix网络编程unp.h最详细全面配置说明今天开始学习Unix网络编程这本大神之作了,由于之前在学习另外一本杰作Unix环境高级编程,遇到过第一个程序编译报错的情况,知道这是大神自己写的头文件在我们自己系统没有包括进去,所以第一步就是搭建好编程环境。好了开始了,我的Linux系统是Ubuntu,第一步:下载所需的头文件源码unpv13e.tar.gz  http://download.csdn.net/detail/ts1733832

2016-08-30 09:21:51 11720 4

原创 UNIX环境高级编程 apue.h头文件的配置

初学《UNIX环境高级编程》的朋友都会遇到一个问题,运行里面的实例(download: http://www.apuebook.com/)时就出现问题,提示 "错误:apue.h:没有那个文件或目录". apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了。 

2016-07-31 19:08:20 712

转载 Linux网络编程入门-6

(九)Linux网络编程--9. 服务器模型学习过《软件工程》吧.软件工程可是每一个程序员"必修"的课程啊.如果你没有学习过, 建议你去看一看. 在这一章里面,我们一起来从软件工程的角度学习网络编程的思想.在我们写程序之前, 我们都应该从软件工程的角度规划好我们的软件,这样我们开发软件的效率才会高. 在网络程序里面,一般的来说都是许多客户机对应一个服务器.为了处理客户机的请求, 

2016-07-14 22:11:33 490

转载 Linux网络编程入门-5

Linux网络编程--7. TCP/IP协议你也许听说过TCP/IP协议,那么你知道到底什么是TCP,什么是IP吗?在这一章里面,我们一起来学习这个目前网络上用最广泛的协议.7.1 网络传输分层     如果你考过计算机等级考试,那么你就应该已经知道了网络传输分层这个概念.在网络上,人们为了传输数据时的方便,    把网络的传输分为7个层次.分别是:应用层,表示层,会话层,

2016-07-14 21:55:56 326

转载 Linux网络编程入门-4

Linux网络编程--6. 高级套接字函数在前面的几个部分里面,我们已经学会了怎么样从网络上读写信息了.前面的一些函数(read,write)是网络程序里面最基本的函数.也是最原始的通信函数.在这一章里面,我们一起来学习网络通信的高级函数.这一章我们学习另外几个读写函数.6.1 recv和send   recv和send函数提供了和read和write差不多的功能.不过它们

2016-07-14 21:48:42 434

转载 Linux网络编程入门-3

Linux网络编程--5. 用户数据报发送UDP我们前面已经学习网络程序的一个很大的部分,由这个部分的知识,我们实际上可以写出大部分的基于TCP协议的网络程序了.现在在 Linux下的大部分程序都是用我们上面所学的知识来写的.我们可以去找一些源程序来参考一下.这一章,我们简单的学习一下基于UDP协议的网络程序.5.1 两个常用的函数    int recvfrom(

2016-07-14 21:45:08 374

转载 Linux网络编程入门-2

Linux网络编程--3. 服务器和客户机的信息函数这一章我们来学习转换和网络方面的信息函数. 3.1 字节转换函数 在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的, 比如i386芯片是低字节在内存地址的低端,高字节在高端,而alpha芯片却相反. 为了统一起来,在Linux下面,有专门的字节转换函数. unsigned long  int hton

2016-07-14 21:41:49 588

转载 Linux网络编程入门-1

(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端         网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端        在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一        个地方获取文件的时候

2016-07-14 21:22:04 472

转载 Linux网络编程常用头文件解释

sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数其

2016-07-14 20:44:55 5765

原创 Linux编写程序入门

学习Linux编程,第一件事就是写个小程序,编译运行体会Linux编程的大致流程,这里以经典的hello word 作为入门例子。第一步:打开终端,随便进入一个文件夹用于存放你编写的程序  #cd /home/usr/workspace  #vim Hello.c  接着你就会看到vim编辑器,按i开始输入,接着输入你的代码,输完后按Esc,再输入":wq"(引号内)保存退出。现在

2016-07-14 11:16:03 781

原创 linux下安装中文输入法及vim支持中文的方法

最近折腾Ubuntu,之前一直是用英文显示系统,输入法也是Ubuntu14默认的拼音,一开始也没觉得不好,可是在vim编辑文档时 ,需要添加注释,这就显得十分不方便,所以花点时间来解决这个问题,一开始是想找vim如何支持中文的方法,网络上的各种插件方法都看了,可惜的安装又慢,最重要的是我的电脑安装出错,十分背。又想到换个中文输入法或许可以解决。于是整理网上的方法,共享一下。

2016-07-13 21:46:04 35220 4

原创 Linux切换到root用户失败原因

Linux(fedora\centos\ubuntu等)终端窗口运行 su 输入密码,提示鉴定失败。原因:1 .安装linux时,未输入ROOT密码;或新建用户,勾选“设为管理员”,仅为新用户设置密码。未设置ROOT密码,系统检测失败解决办法:运行 sudo passwd root(重新设置root密码)退

2016-07-13 18:40:25 13561

转载 Ubuntu下安装软件的几种方式

ubuntu下安装程序的三种方法引言在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种。下面针对每一种方法各举例来说明。apt-get方法使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使

2016-07-12 20:20:59 16127

转载 Linux虚拟机的三种网络连接方式

博文原创http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html)虚拟机网络模式无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式:1.桥接2.NAT3.Host-Only桥接    桥接网络是指本地物理网卡和

2016-07-12 20:12:45 12580

转载 cur常用命令的介绍l

转自他人,原文地址: http://www.thegeekstuff.com/2012/04/curl-examples/下载单个文件,默认将输出打印到标准输出中(STDOUT)中curl http://www.centos.org通过-o/-O选项保存下载的文件到指定的文件中:-o:将文件保存为命令行中指定的文件名的文件中-O:使用URL中默认的文件名保存

2016-07-08 22:17:21 7702

转载 GPROF的使用

gprof1.1      简介gprof实际上只是一个用于读取profile结果文件的工具。gprof采用混合方法来收集程序的统计信息,他使用检测方法,在编译过程中在函数入口处插入计数器用于收集每个函数的被调用情况和被调用次数;也使用采样方法,在运行时按一定间隔去检查程序计数器并在分析时找出程序计数器对应的函数来统计函数占用的时间。Gprof具有以下优缺点:1)  优点:a)

2016-06-23 11:12:11 1541

转载 gdb详细介绍

本文转载自  http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2288004.html#_Toc3116580911 简介2 生成调试信息3 启动GDB 的方法4 程序运行上下文    4.1 程序运行参数    4.2 工作目录    4.3 程序的输入输出5 设置断点

2016-06-12 21:59:32 593

转载 gdb命令的常用总结

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net.sixxs.org/wei801004/archive/2009/06/09/4253911.aspxGDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。和所有常用

2016-06-12 21:55:10 503

原创 初探tcp和udp

TCP   HTTP   UDP,都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。TCP   HTTP   UDP三者的关系:TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。

2016-06-04 19:37:57 442

转载 电脑提示MFC42.dll丢失怎么解决

mfc42d.dllDLL文件安装介绍一、如果您的系统提示"找不到mfc42d.dll"或"mfc42d.dll缺失" 或者"mfc42d.dll错误"等等,请不用担心,请把mfc42d.dll下载到本机。二、直接拷贝该文件到系统目录里:   1、Windows 95/98/Me系统,将mfc42d.dll复制到C:WindowsSystem目录下。   2、W

2016-06-04 17:34:05 16371 2

原创 c++实现堆排序

在程序设计相关领域,堆(Heap)的概念主要涉及到两个方面:一种数据结构,逻辑上是一颗完全二叉树,存储上是一个数组对象(二叉堆)。垃圾收集存储区,是软件系统可以编程的内存区域。本文所说的堆,指的是前者。堆排序的时间复杂度是O(nlgN),与快速排序达到相同的时间复杂度。但是在实际应用中,我们往往采用快速排序而不是堆排序。这是因为快速排序的一个好的实现,往往比堆排序具有更好的

2016-05-31 21:31:54 9472

原创 c++实现快速排序

1、算法思想     快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod) ,分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。2、快排步骤:①分解:      在R[low..high]中任

2016-05-31 17:54:15 453

原创 c++实现归并排序

归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序的基本思想:将待排序序列R[0...n-1]看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n/2个长度为2的有

2016-05-31 17:35:08 444

原创 c++实现希尔排序

希尔排序(Shell Sort),也称为递减增量排序算法,是插入排序的一种高速而稳定的改进版本。希尔排序是基于插入排序的以下两点性质而提出改进方法的:1.插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;2.但插入排序一般来说是低效的, 因为插入排序每次只能将数据移动一位。希尔排序的一般步骤为:1.先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成

2016-05-31 17:29:36 7983 4

原创 c++实现插入排序

插入排序的基本思想是每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。常见的插入排序有插入排序(Insertion Sort),希尔排序(Shell Sort),二叉查找树排序(Tree Sort),图书馆排序(Library Sort),Patience排序(Patience Sort)。下面介绍前两种:(一)直接插入排序

2016-05-31 17:26:39 1682

原创 c++实现选择排序

选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。平均时间复杂度:O(n2)空间复杂度:O(1)  (用于交换和记录索引)稳定性:不稳定 (比如序列【5, 5

2016-05-31 17:17:18 624

原创 c++实现冒泡排序

冒泡排序:依次比较相邻的数据,将小数据放在前,大数据放在后;即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数"滚动"到最后一个位置;第二趟则将次大的数滚动到倒数第二个位置......第n-1(n为无序数据的个数)趟即能完成排序。对冒泡排序算法进行简单的优化,用一个标记来记录在一趟的比较过程中是否存在交换,如果不存在交换则整个数组

2016-05-31 17:10:47 47103 8

原创 c实现哈希查找

哈希查找,也称为散列查找(本文以哈希称呼)。哈希它是由一组key/value的键值对组成的集合,它就是应用了散列技术。那么,什么是哈希查找呢?在弄清楚什么是哈希查找之前,我们要弄清楚哈希技术,哈希技术是在记录的存储位置和记录的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值的映射f(key),若查找集合中存在这个

2016-05-28 16:09:20 3748 2

原创 c++实现二分法查找

二分查找也属于顺序表查找范围,二分查找也称为折半查找。二分查找(有序)的时间复杂度为O(LogN)。那么什么是二分查找呢?二分查找的基本思想是, 在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找。不断重复上述过程,直到找到为止。从二分

2016-05-28 16:02:53 14397 4

原创 数组无序查找

在一组无序数列中,查找特定某个数值,并返回其位置pos。//在一组无序的数组中查找给定的数字,并返回下标,2016.5.26#include #include #include #define MAX 100void input(int num[])//实参传入的数组的首地址,而不是整个数组{ int i; srand((unsigned)time(NULL));//产生随机

2016-05-28 15:59:47 2124

原创 c++统计程序运行时间的方法

总结下c++中统计程序运行时间的方法。1:void main(){time_t t1;time(&t1);for(int i=0;i<1000000000;i++){int a=i;}time_t t2;time(&t2);printf("已运行%d秒\n",t2-t1);2:VC的话有profile,在链接属性页勾选profile项,然后profile(在编译菜

2016-05-27 18:03:05 10563

原创 c中的\n和单双引号

1、scanf中通常是不需要加\n的,不加的时候,从键盘输入回车,表示输入结束了;如果加了\n,键盘输入的回车就被当成输入的字符了,需要再次输入非空白的字符才能结束输入,而且容易导致混乱,所以不建议在scanf中加\n2、printf中的\n就很好理解了,就是表示输出一个换行。3、双引号里面的是字符串 而单引号里面的代表字符,你可以这样理解 只要是在双引号里面的不代表任何表达式的意义,看下

2016-05-26 22:18:34 1839

原创 srand((unsigned)time(NULL))详解

srand函数是随机数发生器的初始化函数。原型:void srand(unsigned seed);用法:它初始化随机种子,会提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数,如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:

2016-05-26 20:34:11 125719 29

转载 再探指针

原文地址:点击打开链接指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子:  例一:  int *ptr; char *ptr; in

2016-05-26 16:28:35 346

android 开发艺术探索pdf

android 开发艺术探索pdfandroid 开发艺术探索pdf

2022-10-15

应用性能优化最佳实践pdf

应用性能优化最佳实践pdf.

2022-10-15

mysql_scripts

官方下载的MySQL必知必会 crashcourse创建脚本,亲测可用,欢迎大家下载。

2016-10-06

vc6.0的filetool.dll

Win7下VC6打开文件报错导致其崩溃的解决办法 在Windows7下安装Visual C++ 6.0后,遇到一个致命的问题打开文件的时候出现异常而导致VC6崩溃, 微软针对这个问题发布了一个补丁,里提供了一个已编译的版FileTool.dll_已编译.zip 大家不管是自行编译也好,还是下载提供的已编译的FileTool.dll,使用方法都一样: 1. 把FileTool.dll文件拷贝至 C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 文件夹下 2. 在cmd下手动注册该dll文件:regsvr32 "C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns\FileTool.dll" 3. 打开VC6,右击工具栏,自定义... -> 附加项和宏文件,选中 FileTool Developer Studio Add-in 附加项 这个时候就会出现 A 和 O 的文件栏按钮 •Add File To Project •Open

2013-08-06

图论软件和教程

数学建模中用到很多的图论可视化软件,十分方便。

2013-08-05

lingo教程大全

很好的数学学习软件lingo教程,实例一步步教。

2013-08-05

大学操作系统资料

大学操作系统课程的详细资料,南昌大学的同学们资料就在这。

2013-04-01

2级c模拟系统

2级c上机模拟系统,很好的,考试前的模拟上机,对考试很有帮助

2013-03-11

极速星空6.0

南昌高校专用的电信网络拨号软件极速星空6.0。

2013-03-04

空空如也

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

TA关注的人

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