自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

翻译 类的作用域

类作用域 (1)作用域为类的常量 使符号常量的作用域为类很有用 class Bakery { private: const int Months = 12;//不合法 }; 上面这样做行不通,因为声明类只是描述了对象的形式,并没有创建对象。因此在创建对象前,将设有用于存储值的空间不行;然而有两种方式可以实现将符号常量的作用设为类作用域 a、在类中声明一个枚举 class Bake

2018-04-03 10:28:18 1866

原创 Posix有名信号量、基于内存的信号量

/************************************************************************* > File Name: main.c > Author: ndj > Mail: [email protected] > Created Time: Thu 23 Nov 2017 02:12:15 PM CST **

2017-11-23 20:30:05 316

原创 System V消息队列实现服务器

每个应用一个队列/*服务器程序*/#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>#include<sys/msg.h>#include<fcntl.h>#include<limits.h>#include<errno.h>#include<

2017-11-10 15:11:11 296

原创 Posix消息队列异步通知功能

/************************************************************************* > File Name: test.c > Author: ndj > Mail: [email protected] > Created Time: Tue 07 Nov 2017 03:39:34 PM CST **

2017-11-08 14:24:06 441

原创 FIFO实现并发服务器——多进程

/*服务器*/#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>#include<fcntl.h>#include<string.h>#include<errno.h>#define SERVER_FIFO "server_fifo"/*服务器管

2017-10-27 14:21:13 546

原创 进程间通信—共享内存、信号量

/************************************************************************* > File Name: test.c > Author: ma6174 > Mail: [email protected] > Created Time: Fri 20 Oct 2017 01:49:05 PM CST

2017-10-20 18:35:25 234

转载 Linux中线程栈测试

#include<stdio.h>#include<stdlib.h>//#include<types.h>//#include<stat.h>#include<pthread.h>#include<string.h>#include<limits.h>void* thread_func(void* arg){ printf("The thread is here\n");

2017-09-24 15:18:39 261

原创 使用扩展二叉树的方法建立二叉树

/************************************************************************* * > File Name: test.c > Author: ma6174 > Mail: [email protected] > Created Time: Tue 19 Sep 2017 09:59:50 PM CS

2017-09-20 13:26:49 671 1

原创 使用数组实现堆栈

#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXSIZE 10#define OK 1#define ERROR 0typedef int Status;typedef int SElemType;struct SqStack{ SElemType data[MAXSIZE];//数组实现

2017-09-13 20:11:38 411

原创 vim最实用的配置脚本文件

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 显示相关 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set short

2017-09-09 09:35:30 951

原创 多线程造成死锁的两种情况

* * 程序中使用一个以上的互斥量造成程序死锁 */#include<stdio.h>#include<stdlib.h>#include<pthread.h>//定义两个互斥锁并初始化pthread_mutex_t ALock = PTHREAD_MUTEX_INITIALIZER;pthread_mutex_t BLock = PTHREAD_MUTEX_INITIALIZER;

2017-09-01 14:37:27 862 1

原创 互斥量(对数据结构保护)

#include<stdio.h>#include<stdlib.h>#include<pthread.h>/* * 当一个以上的线程需要访问动态分配的内存时,可以引入计数变量 */struct foo{ int f_count; pthread_mutex_t f_lock; int f_id;};struct foo* foo_alloc(int id)/

2017-09-01 10:43:56 430

原创 多线程-读写锁

/************************************************************************* > File Name: test.c > Author: ndj > Mail: [email protected] > Created Time: 2017年08月22日 星期二 10时34分52秒 ********

2017-08-22 17:22:03 175

转载 Linux中环境变量的作用

/************************************************************************* > File Name: test.c > Author: ndj > Mail: [email protected] > Created Time: 2017年07月22日 星期六 18时42分58秒 *******

2017-07-23 13:55:19 376

原创 时间服务器客户端

//时间服务器includeincludeincludeincludeincludeincludeincludeincludeincludeincludedefine LISENQ 1024define MAXLINE 4096/服务器处理函数,返回当地时间/void str_cli(int sockfd) { //time_t cur_time;//当前时间结构体 //str

2017-06-28 09:18:06 268

原创 UDP套接字编程

//使用UDP实现UDP回射服务器#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<strings.h>#include<string.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#define MAXLINE 4096

2017-06-25 15:24:37 211

原创 poll函数

//TCP回射服务器poll实现#include<stdio.h>//#include<stdlib.h>#include<sys/types.h>//#include<sys/stat.h>#include<sys/socket.h>#include<poll.h>#include<netinet/in.h>#include<unistd.h>#include<strings.h

2017-06-18 19:50:27 177

原创 select实现并发服务器

//使用select将多进程的程序改成但进程的程序#include<stdio.h>#include<stdlib.h>#include<sys/socket.h>#include<sys/time.h>#include<sys/unistd.h>#include<sys/types.h>#include<netinet/in.h>#include<strings.h>#inclu

2017-06-15 20:16:02 624

原创 select函数

//服务器程序//(1)当fork字进程时,必须捕获SIGCHLD信号//(2)当捕获信号时,必须处理被中断的系统调用(accept)//(3)SIGCHLD的信号处理函数必须被正确的书写,应使用waitpid函数,以免留下僵尸进程#include<stdio.h>#include<stdlib.h>#include<strings.h>#include<string.h>#incl

2017-06-13 21:15:47 172

原创 socket网络编程避免僵尸进程

//服务器程序//(1)当fork字进程时,必须捕获SIGCHLD信号//(2)当捕获信号时,必须处理被中断的系统调用(accept)//(3)SIGCHLD的信号处理函数必须被正确的书写,应使用waitpid函数,以免留下僵尸进程#include<stdio.h>#include<stdlib.h>#include<strings.h>#include<string.h>#incl

2017-06-08 17:09:10 516

原创 socket并发服务器(frok)

//服务器#include<stdio.h>#include<stdlib.h>#include<netinet/in.h>//套接字地址结构#include<sys/socket.h>//socket函数#include<strings.h>//字节操纵函数 bzero#include<string.h>#include<unistd.h>void str_echo(int soc

2017-06-07 10:59:00 319

原创 dbm数据库操作

//dbm数据库的使用#include<unistd.h>#include<stdlib.h>#include<stdio.h>#include<fcntl.h>#include<gdbm-ndbm.h>//包含dbm数据库操作函数//#include<ndbm.h>#include<string.h>//宏定义#define TEST_DB_FILE "/home/ndj/dbm

2017-05-22 19:38:15 1358

原创 文件锁的竞争

//fcntl锁定文件#include<unistd.h>#include<stdlib.h>#include<stdio.h>#include<fcntl.h>const char *test_file = "/home/ndj/filelock/fcntl/test_lock.in";int main(){ int file_desc;//文件描述符 int byte

2017-05-18 21:40:26 197

原创 C++实现迪杰斯特拉(Dijkstra)算法

#include<iostream>#include <windows.h>#define MAX 9using namespace std;//网图类template<class Type>class NetGraph{private: Type vexs[MAX];//顶点表 int arc[MAX][MAX];//邻接矩阵 int numVertexes

2017-05-08 19:25:41 627

原创 普里姆(Prim)算法

/*********************普里姆(Prim)算法******************///网类template<class Type>class NetGraph{private: Type vexs[MAX];//顶点表 int arc[MAX][MAX];//邻接矩阵 int numVertexes, numEdges;//当前网中节点、边数

2017-05-06 17:19:15 270

原创 C++十字链表实现有向图

/*********************十字链表实现有向图******************///边表节点template<class Type>class EdgeNode{public: int tailvex;//弧起点在顶点表的下标 int headvex;//弧终点在顶点表的下标 //int weight;用于存储权值非网图不需要 EdgeN

2017-05-04 16:27:54 1118

原创 C++邻接表实现无向图、有向图

/*********************邻接表实现有向图******************///邻接表实现有向图缺点:只有出度,没有入度;解决方法:逆邻接表、十字链表//边节点类template<class Type>class EdgeNode{public: int adjvex;//邻节点域,存储该节点对应的下标 //int weight;//用于存储权值,非

2017-05-03 21:16:49 5281

原创 C++邻接矩阵实现有向图、无向图

/*********************邻接矩阵实现无向图******************/class MatrixUDG{private: char mVexs[MAX];//顶点集合 int mVexBum;//顶点数 int mEdgNum;//边数 int mMatrix[MAX][MAX];//邻接矩阵 char readChar();/

2017-05-03 19:49:45 4270

原创 二叉树的递归插入

/*********************二叉树的递归插入******************/template<class Type>class TreeNode{public: Type data; TreeNode *left; TreeNode *right; TreeNode(Type value, TreeNode *l = nullptr, T

2017-04-23 12:38:53 482

原创 C++实现二叉查找树

/***********二叉查找树的实现*************/ //节点类 template class TreeNode { public: Type data; TreeNode *left; TreeNode *right; TreeNode() :data(Type()), left(nullptr), right(nullptr){}

2017-04-18 20:42:05 637

原创 C++实现优先队列

/***********优先队列的(单向)链式实现形式*************/ 节点类 template class QueueNode { public: Type data;//数据 int priority;//优先级 QueueNode *next; QueueNode() :data(Type()), priority(0), next

2017-04-14 16:51:43 1317

原创 C++实现链栈和链式队列

数据结构应该活学活用,定义的数据可以不一样,可以同过增加数据开源表示成很多种含义 /***********栈的链式实现(调试结束)*************/栈是一种简化的链表 template class StackNode { public: Type data; StackNode *next; StackNode() :data(Type()), ne

2017-04-13 20:59:30 366

原创 C++实现双向循环链表

/***********双向循环链表(代码调试正常,所有功能均测试)*************/ //节点类 template class ListNode { public: Type data;//节点数据域 ListNode *next;//后继指针 ListNode *prev;//前驱指针 ListNode() :data(Type()),

2017-04-10 17:07:37 283

空空如也

空空如也

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

TA关注的人

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