- 博客(23)
- 收藏
- 关注
原创 初学libevent库
高性能的I/O框架库libeventlinux服务器通常要处理的三类事件:I/O事件,信号,定时器在处理这些事件时要考虑三个问题:1 统一事件源2 可移植性 不同系统使用不同的I/O复用方式3 多进程/多线程中高并发编程的支持libevent就解决了以上问题I/O框架库概述I/O框架库以库函数的方式封装了相对底层系统调用,为应用程序提供便利的接口,
2017-10-06 12:27:03 416
原创 求两个链表的第一个公共子结点
求两个链表的第一个公共结点,注意是单链表,一个结点相同,后面结点都相同思路:两个链表第一个公共结点之后的结点都相同,较长的结点先走,走到两个链表相同长度时,同时走,当两链表结点相同时,即为公共结点另一种思路:链表尾部相同,从尾部走,最后一个相同的结点,即为所求结点所以就要用到栈了。上代码:struct ListNode { int val; struct ListNod
2017-06-27 20:49:48 252
原创 二叉树的创建、先根、中根、后根遍历
树的定义:树是n个结点的有限集。n=O 时称为空树。在任意-棵非空树中: (1 )有且仅有一·个特定的根结点: (2)若干子树(互不相交) 树的定义是递归定义的二叉树( Binary Tree) 是 n个结点的有限集合,该集合或者为空集(称为空二叉树),戴者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树结点的定义:typed
2017-03-26 11:55:36 10416 2
原创 链表逆置
单链表逆置问题:1头插法2递归具体过程大致图如下:代码实现:#include using namespace std;typedef int elemtype;typedef struct ListNode{ elemtype data; ListNode *next;}ListNode,*List;ListNode *Buynode(){ Lis
2017-03-24 11:49:50 337
原创 atoi和itoa的实现
my_atoi:字符串转整形实现:1 ‘0’-‘9’之外的非数字字符的处理2 int溢出问题3 注意转换后int型的正负问题my_itoa:整形转字符串实现:1 依次取出每个数字2 转化成对应字符3 放入字符数组中4 将数组逆置#include #include using namespace std;////////////////
2017-03-24 11:22:31 287
原创 递归之斐波那契数列
斐波那契数列f(n) = 1 1 2 3 5 8 13 21 34 55 89 144 233 377 ...特点:第n项的值等于第n-1和第n-2项值的和问题描述:求斐波那契数列的第n项实现:1循环int fac(int n){ if (n<=0) return 0; int a = 1; int b = 1; int value = 0; for
2017-03-18 20:07:36 411
原创 数据结构之顺序表实现
顺序结构:元素逻辑相邻,物理也相邻线性表的顺序实现:顺序表 (按索引值从小到大放在一片相邻的连续区域)顺序表定义:一组内存地址连续的存储单元依次存储数据元素,也称向量。顺序表可分为:定长顺序表和可变长顺序表优点:根据下标随机取元素缺点:更新付出的代价大,开始就要分配一大块内存空间。下面是代码实现:DESQ_LIST.h#ifndef _DSEQ_LIST_H
2017-02-23 17:19:24 326
原创 数据结构之三元组
三元组s1(a,b,c) 元素类型可自定义 elemtype下面直接贴代码triple.h 头文件#ifndef _TRIP_H_#define _TRIP_H_#define ERROR -1//可更改三元组的数据类型typedef int elem_type;//三元组结构体定义typedef struct _TRIP{ elem_type e1; elem_ty
2017-02-23 16:30:02 3429
原创 c++火柴棒问题
题目:1.火柴棒问题用火柴棒摆成的0-9间的数字,横向由一根火柴构成,纵向都是由两根火柴构成,可按如下规则进行变化:1.数字移动一根火柴棒可变成其它0到9之间合法的数字2.数字添加一根火柴棒可变成其它0到9之间合法的数字3.数字去掉一根火柴棒可变成其它0到9之间合法的数字现在给出一个带有两个操作数的+,-,*,/的算术式子,需要你判断该式子是否成立,如给出式子9-6
2017-02-11 17:34:31 4598
原创 类和对象阶段考试总结
题目一:实现String类中的方法class String{public: String(char *pstr) { _pstr = new char[strlen(pstr)+1]; strcpy(_pstr,pstr); cout<<this<<endl; cout<<"String(char *)"<<endl; } ~String() { del
2016-11-29 14:38:14 323
原创 linux上课随笔—进程间通信:管道
管道:当从一个进程连接数据流到另一个进程时,使用术语管道. 有名管道 无名管道(pipe)无名管道特点:1 只能用于具有血缘关系的进程之间2 半双工的通信模式,具有固定的读端和写端3 一种特殊的文件,存在于内存中,可通过read、write对其操作通常在父进程中创建管道,在创建子进程,子进程继承了父进程打开的文件描述符,父子进程可通过管道进行通信。
2016-11-27 11:31:17 252
原创 顺序表应用学生管理系统
下面是代码实现:SEQ_LIST.h:#ifndef _DSEQ_LIST_H_#define _DSEQ_LIST_H_#define INIT_SIZE 10typedef struct _STU{ int num; char name[20]; int age; char sex; char college[20]; //现专业 char old_colleg
2016-10-19 21:56:09 771
原创 数据结构排序
**data_struct sort** 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。排序分为内排序和外排序,内排序的待排序序列都在内存中,外排序则不然。常用的排序有九种:exchange_sort bubble_sort select_sortinsert_sortshell_sortqu
2016-10-17 18:55:28 354 1
原创 一元多项式相加的链式实现
#include"PLOY.h"#include#include#include//动态申请结点NODE * alloc_node(int coef,int exp){NODE * tmp = (NODE *)malloc(sizeof(NODE));assert(tmp);tmp ->coef = coef;tmp ->exp =
2016-10-10 15:42:33 1467
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人