- 博客(33)
- 收藏
- 关注
翻译 类的作用域
类作用域 (1)作用域为类的常量 使符号常量的作用域为类很有用 class Bakery { private: const int Months = 12;//不合法 }; 上面这样做行不通,因为声明类只是描述了对象的形式,并没有创建对象。因此在创建对象前,将设有用于存储值的空间不行;然而有两种方式可以实现将符号常量的作用设为类作用域 a、在类中声明一个枚举 class Bake
2018-04-03 10:28:18
1927
原创 Posix有名信号量、基于内存的信号量
/************************************************************************* > File Name: main.c > Author: ndj > Mail: ndj_ydd@163.com > Created Time: Thu 23 Nov 2017 02:12:15 PM CST **
2017-11-23 20:30:05
359
原创 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
353
原创 Posix消息队列异步通知功能
/************************************************************************* > File Name: test.c > Author: ndj > Mail: ndj_ydd@163.com > Created Time: Tue 07 Nov 2017 03:39:34 PM CST **
2017-11-08 14:24:06
498
原创 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
610
原创 进程间通信—共享内存、信号量
/************************************************************************* > File Name: test.c > Author: ma6174 > Mail: ma6174@163.com > Created Time: Fri 20 Oct 2017 01:49:05 PM CST
2017-10-20 18:35:25
265
转载 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
314
原创 使用扩展二叉树的方法建立二叉树
/************************************************************************* * > File Name: test.c > Author: ma6174 > Mail: ma6174@163.com > Created Time: Tue 19 Sep 2017 09:59:50 PM CS
2017-09-20 13:26:49
741
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
444
原创 vim最实用的配置脚本文件
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 显示相关 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set short
2017-09-09 09:35:30
1017
原创 多线程造成死锁的两种情况
* * 程序中使用一个以上的互斥量造成程序死锁 */#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
972
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
469
原创 多线程-读写锁
/************************************************************************* > File Name: test.c > Author: ndj > Mail: 172305913@qq.com > Created Time: 2017年08月22日 星期二 10时34分52秒 ********
2017-08-22 17:22:03
229
转载 Linux中环境变量的作用
/************************************************************************* > File Name: test.c > Author: ndj > Mail: 172305913@qq.com > Created Time: 2017年07月22日 星期六 18时42分58秒 *******
2017-07-23 13:55:19
440
原创 时间服务器客户端
//时间服务器includeincludeincludeincludeincludeincludeincludeincludeincludeincludedefine LISENQ 1024define MAXLINE 4096/服务器处理函数,返回当地时间/void str_cli(int sockfd) { //time_t cur_time;//当前时间结构体 //str
2017-06-28 09:18:06
321
原创 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
251
原创 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
210
原创 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
670
原创 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
230
原创 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
568
原创 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
368
原创 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
1436
原创 文件锁的竞争
//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
224
原创 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
702
原创 普里姆(Prim)算法
/*********************普里姆(Prim)算法******************///网类template<class Type>class NetGraph{private: Type vexs[MAX];//顶点表 int arc[MAX][MAX];//邻接矩阵 int numVertexes, numEdges;//当前网中节点、边数
2017-05-06 17:19:15
308
原创 C++十字链表实现有向图
/*********************十字链表实现有向图******************///边表节点template<class Type>class EdgeNode{public: int tailvex;//弧起点在顶点表的下标 int headvex;//弧终点在顶点表的下标 //int weight;用于存储权值非网图不需要 EdgeN
2017-05-04 16:27:54
1168
原创 C++邻接表实现无向图、有向图
/*********************邻接表实现有向图******************///邻接表实现有向图缺点:只有出度,没有入度;解决方法:逆邻接表、十字链表//边节点类template<class Type>class EdgeNode{public: int adjvex;//邻节点域,存储该节点对应的下标 //int weight;//用于存储权值,非
2017-05-03 21:16:49
5385
原创 C++邻接矩阵实现有向图、无向图
/*********************邻接矩阵实现无向图******************/class MatrixUDG{private: char mVexs[MAX];//顶点集合 int mVexBum;//顶点数 int mEdgNum;//边数 int mMatrix[MAX][MAX];//邻接矩阵 char readChar();/
2017-05-03 19:49:45
4359
原创 二叉树的递归插入
/*********************二叉树的递归插入******************/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
523
原创 C++实现二叉查找树
/***********二叉查找树的实现*************/ //节点类 template class TreeNode { public: Type data; TreeNode *left; TreeNode *right; TreeNode() :data(Type()), left(nullptr), right(nullptr){}
2017-04-18 20:42:05
680
原创 C++实现优先队列
/***********优先队列的(单向)链式实现形式*************/ 节点类 template class QueueNode { public: Type data;//数据 int priority;//优先级 QueueNode *next; QueueNode() :data(Type()), priority(0), next
2017-04-14 16:51:43
1383
原创 C++实现链栈和链式队列
数据结构应该活学活用,定义的数据可以不一样,可以同过增加数据开源表示成很多种含义 /***********栈的链式实现(调试结束)*************/栈是一种简化的链表 template class StackNode { public: Type data; StackNode *next; StackNode() :data(Type()), ne
2017-04-13 20:59:30
413
原创 C++实现双向循环链表
/***********双向循环链表(代码调试正常,所有功能均测试)*************/ //节点类 template class ListNode { public: Type data;//节点数据域 ListNode *next;//后继指针 ListNode *prev;//前驱指针 ListNode() :data(Type()),
2017-04-10 17:07:37
311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人