自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (12)
  • 收藏
  • 关注

原创 linux 进程通信之共享内存

一,创建共享内存void *shmat(int shmid, void *shmaddr, int shmflg);该系统调用将shmid 对应的共享内存区映射到进程的虚拟地址空间中,shmaddr 为指定的映射起始地址,其值为NULL 时,映射空间由系统确定;shmflg 为标志字,其值一般指定为0。/* * mkshm.c - Create and initialize shared me

2012-12-20 12:12:57 959

原创 linux 进程间通信之消息队列

一,创建消息队列:int msgget(key_t key, int flags);功能:若flags 中设置了IPC_CREAT 位,创建一个新队列,对应于key 的值。key 值为IPC_PRIVATE 时表明key 值由系统生成。若flags 中没有设置IPC_CREAT 位,打开对应于key 的已有队列。返回值为消息队列的id,系统关机以前全局有效。/*

2012-12-20 09:43:52 1006

原创 数据结构与算法之归并排序

归并排序思想:先分后合,每次合并的子数组序列是有序的时间复杂度:O(nlog2n),空间代价为O(n)代码如下:int a[10]={1,23,4,5,7,9,0,5,3,26},b[10]={0};void merge(const int left,const int mid,const int right){ int s1=left; int s2=mid; int s3

2012-12-15 01:26:40 724

原创 算法与数据结构之堆排序

一,线性的数组可以看成一个二差堆,堆中父节点与左孩子的关键码关系为:left=parent*2+1;堆排序思想:每次循环从二叉堆中将最大的元素shiftup上移至根节点,再将根节点与最后对末尾的元素交换。撇开末尾元素,如此再继续找出下一个最大元素,将此最大元素与此末尾元素交换。依此重复查找最大元素,然后交换。1.堆排序与插入排序思想有点类似。2.时间复杂度为nlog2(n);int

2012-12-14 23:17:25 747

原创 C/C++中整型数组的下标类型不一定为整型

C/C++中整型数组的下标类型不一定为整型,C C++语言下数组性质与散列有些类似,即散列中的键值对:下标即为关键码,关键码通过散列函数映射得到元素即为值下标可以为整型,也可以为字符型,简单案例如下:int main(){ int d[3]={0}; char a='a',b='b'; d[a]=1; d[b]=2; printf("%d,%d\n",d[a],d[b]

2012-12-14 17:27:54 4012

原创 二叉搜索树

一,二叉搜索树简单理解:二叉搜索树是基于二分法搜索实现快速搜索的树形数据结构特性:左子树的节点小于父节点和且小于右子树,父节点小于右子树 二,AVL树1. AVL树也是一种二叉搜索树。2. 为了进一步提高二叉搜索树的搜索效率,即减少树的平均搜索长度,故而需要尽量降低数的高度。3.  AVL树要求任何节点左右子树高度的差值不超过1. 重点 :AVL树的插入.删除操

2012-12-12 23:39:39 707

原创 设计模式之适配器模式

适配器分两种:对象适配器,类适配器UML 对象适配器 类适配器   public interface Target { void request();}public class Adaptee { public void doSomeString(){ System.out.println("Apaptee do something

2012-12-12 22:41:44 646

原创 散列(Hash table)也称哈希表

一,与集合和字典的区别:集合和字典(线性表,二叉搜索树,AVL树,B树)中元素与关键码没有直接的对应的关系,而哈希表中元素与关键码有对应的关系,而这层关系通过哈希函数桥接,通过关键码映射到表中某个地址位置来搜索元素的方法速率更高,比较次数很少。二,散列1.散列的性质:.散列函数是一个压缩映像函数,关键码集合比散列表地址集合大得多。不同关键码的映射后必定会出现在同一个散列地址上,

2012-12-11 21:29:03 1212

原创 设计模式之建造者模式

一,建造者模式与抽象工程模式很相似,区别:抽象工厂模式侧重一系列的产品复杂的建造;而建造者模式侧重一步一步建造复杂的产品,最终返回产品。二,UML图解#include "stdafx.h"#include #include #includeusing namespace std;class Product{public: Product(

2012-12-09 20:09:34 623

原创 linux 进程间通信之管道和FIFO

一.管道1.可有多个进程向一个进程写入数据,读入数据的进程只能有一个2.管道通信只能支持单向通信,如果实现双向通信效果,则需要建立两个管道3.管道只支持有父子关系和有共同父进程关系的子进程之间的进程通信 int pipe(int filedes[2]);功能:filedes 为两个元素的整型数组,pipe 调用产生一个管道,管道的读描述符存入filedes[0],管道的写描

2012-12-08 23:06:18 811

原创 linux 进程通信之信号

一,进程之间通信方式有:信号,管道,FIFO(命名管道),信号量,消息队列,共享内存二,信号作用:1.信号是进程与进程之间或者进程与内核之间最小的通信单位2.信号以1-31之间的数标示3.进程运行的任何时刻都可能接受到其他进程或内核发给他的信号,并且使用信号处理函数处理该信号。处理完信号后,返回到进程,继续执行此刻信号的也即是一个软中断信号举例:int kill

2012-12-08 22:35:50 948

原创 linux TCP/IP网络编程(多进程)

多进程网络编程案例如下#include #include #include #include // may be use by getpid() and getppid()#include int main(int argc, char *argv[]) { int sockfd,new_fd, mypid; struct sockaddr_in

2012-12-08 21:21:45 1375

原创 linux下TCP/IP网络编程

1.服务器端代码:#include #include #include #include int main(int argc, char *argv[]) { int sockfd,new_fd; struct sockaddr_in server_addr; struct sockaddr_in client_addr; int sin

2012-12-08 20:50:12 2816

转载 设计模式之原型模式

原型模式应用场景举例: GG和MM经常在QQ上聊天,但是GG打字的速度慢如蜗牛爬行,每次MM在瞬间完成恢复或者问候是,GG都会很紧张的去尽力快速打字,尽管如此,还是让MM有些不高心,MM说回复信息这么慢,显然是用心不专,不在乎她。哎,GG也是百口难辩啊,不过也确实是没有办法。有一天,GG想自己的密友K倾诉了自己的苦衷。K顿生大笑。说道:“傻瓜,你怎么不去网上收集一些肉麻的情话以及一些你们经

2012-12-08 16:40:36 684

原创 设计模式之抽象工程

抽象工厂模式解释: (此段模式分析有参考其他博文 因为已忘出去,故而没有标出链接地址)抽象工厂模式(Abstact Factory Pattern)是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。抽象工厂中方法对应产品结构,具体工厂对应产品族英文定义为:Provide an i

2012-12-08 16:14:20 685

原创 并查集与kruskal最小生成树

1、 概述并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。a.一个集合是一棵树,b.根节点下标代表集合名称,根节点的父为为负数,绝对值表示集合中的元素个数。并查集的重要知识点:a.加权规则,即并两个没有交集的集合,元素个数少的集合加到元素个数多的集合里

2012-12-05 21:46:53 863

原创 linux 下makefile的使用举例

该程序在linux平台下用C语言实现有两个头文件m1.h m2.h 对应的实现文件m1.c m2.c  调试文件test.c案例代码如下:m1.h#includevoid m1_print(char *str);m2.h#includevoid m2_print(char *str);m1.c#include#include"m1.h

2012-12-05 16:53:08 828

原创 最小生成树:kruskal算法与prim算法

Kruskal算法算法定义  克鲁斯卡尔算法  假设 WN=(V,{E}) 是一个含有 n 个顶点的连通网,则按照克鲁斯卡尔算法构造最小生成树的过程为:先构造一个只含 n 个顶点,而边集为空的子图,若将该子图中各个顶点看成是各棵树上的根结点,则它是一个含有 n 棵树的一个森林。之后,从网的边集 E 中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,也就是说,将

2012-12-05 13:49:44 1049

原创 lib与dll两种库

一.程序中有两种库:1.lib 静态链接库,在编译时加载,该文件包含函数所在的DLL文件以及函数所对应的地址等信息。  说白了lib里放的是dll中对应函数地址等信息的索引。2. dll 动态链接库,程序运行时加载,该文件包含函数的具体实现代码和数据。动态链接时,需要lib.以及dll共同协作 二. 使用lib需注意两个文件:(1).h头文件,包含 lib中说明输出的类

2012-12-01 15:54:19 725

原创 C++ STL 学习

一. C++ STL所提供的泛型数据结构用模板类实现,统称为容器,有:vector list queue set  dequeue等等常用到的容器:1. vector   a   是线性结构,与数组类似。                   b   可以随机访问其中的元素,也可以从末端插入,与数组类似。                   c     动态分配内存,使用时大小可以再

2012-12-01 15:24:10 619

浏览器应用

浏览器应用 debug版本

2017-08-14

android天气预报程序

android天气预报程序源码 实现了全国各城市天气信息的获取 可以展示最近六天的天气状况 对于android学习者有很大的帮助

2013-04-19

android spinner使用案例

android spinner使用案例 本人初学android控件 以此记录学习心得 上传于此分享给大家学习

2013-03-29

深入java虚拟机

深入java虚拟机 是一本介绍java底层核心技术的专业书籍 老外所写 畅销全世界 得到java方面专家的一致好评 同时因我们任课老师推荐 故而收藏此书 在此分享 希望能对致力于java的学习者有帮助

2013-01-05

EJB+jboss小组完整实验(网上书籍交易系统)

ejb+jboss+myeclipse小组完整版实验,该实验为网上书籍交易系统,完整源码,建立数据库后可以直接运行,可供ejb爱好者学习使用

2012-12-09

浙江大学数据库课件

浙江大学 数据库全套课件 对初学者很有帮助

2012-09-13

java小鱼吃海藻源代码

小鱼吃海藻程序源码 对于理解学习java面向对象编程有帮助 提高编程能力

2011-11-04

java完整的 福利彩票系统

本java“中国福利彩票34选7”系统 对于java编程热衷者起到很好的引导作用

2011-11-04

java完整的银行管理系统代码

本案银行系统源码案例 可以为java学者更好的java面向对象编程思想提供很好的源码渠道

2011-11-04

空空如也

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

TA关注的人

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