自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 I/O多路复用之select/poll/epoll

1、基本概念  IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。   (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。

2016-05-27 19:14:26 604

原创 调整数组的顺序

数组奇数在偶数前面,使用函数指针#include<iostream>using namespace std;bool IsOdd(int n) //判断是否为奇数{ return (n & 1) == 1;}void ReOrder1(int *arr, int len, bool (*fun)(int)){ int begin = 0; int end = len

2016-05-15 20:05:03 1220

原创 输出1到最大的n位数

#include<iostream>#include<string.h>using namespace std;bool add(char *num){ if (num == NULL) return false; bool OverFlow = false; int nTakeOver = 0;//表示进位 int len = strlen(n

2016-05-15 19:24:12 511

原创 求一个数的x次方

思路:分几种情况 1、不合法的输入,基数等于0并且指数小于0。 2、任何一个数的0次方都等于1。 3、指数是负数,可以先对指数求绝对值,然后计算出次方的结果之后再取倒数。 4、递归求次方效率更高,时间复杂度为O(lgn)。 根据公式: #include<iostream>using namespace std;//判断浮点数是否等于0bool equal(double d1, dou

2016-05-14 18:39:08 1904

原创 查找旋转数组的最小值

题目:输入一个递增排序的数组的一个旋转,输出旋转数组的最小值。例如:数组{4,5,6,1,2,3}为数组{1,2,3,4,5,6}的一个 旋转数组,该数组的最小值为1。 思路:时间复杂度为O(n)的解法很简单。更高效的一种解法是利用二分查找实现O(lgn)的查找。两个标志begin和end,分别指向数组的第一个和最后一个元素。min指向数组中间项。如果arr[min]大于arr[begin],最小

2016-05-11 20:07:56 389

原创 合并两个有序数组

题目:有两个排序的数组arr1和arr2,内存在arr1的末尾有足够的空余空间容纳arr2,实现一个函数,把arr2中的所有数字插入到arr1中,并且所有的数字是排序的 思路:从后向前合并#include<iostream>using namespace std;int* MergeTwoArr(int *arr1, int *arr2, int len1, int len2){ if

2016-05-11 16:15:09 480

原创 用两个栈实现一个队列

题目:用两个栈实现一个队列,实现头删和尾插的功能。 思路:栈是先进后出,队列是先进先出。用两个栈InsertStack和TmpStack。如果要插入数据就只往InsertStack中插。删除数据时,如果TmpStack为空,则将InsertStack中的数据逐个拿出来,插入到TmpStack中,这样先入InsertStack栈的元素,就被翻转到TmpStack的栈顶,就可以在TmpStack中直接

2016-05-08 21:20:02 386

原创 重建二叉树

题目:输入某二叉树的前序中序的遍历结果,重建出该二叉树。假设输入的前序和中序遍历中没有重复的数字。例如输入的前序遍历为{1,2,4,7,3,5,6,8},中序遍历为{4,7,2,1,5,3,8,6}。 根据前序和中序遍历,构建出二叉树如下图: 后序遍历为:{7,4,2,5,8,6,3,1}。 思路:在二叉树的前序遍历中第一个数就是根节点。在中序遍历中根节点在中间,左子树的节点位于根节点的左边,

2016-05-07 22:50:11 1227

原创 单例模式

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器

2016-05-07 17:28:29 673

原创 替换空格

题目:实现一个函数将字符串中每个空格替换成“*♥*”。例如:输入“Hello kkw accompany you long”,输出:“Hello*♥*kkw*♥*accompany*♥*you*♥*long”。 思路:先遍历一次字符串,统计出字符串的原始长度和空格个数,并由此可以计算出替换之后字符串的总长度。每替换一个空格,长度增加2,因此替换以后字符串的长度等于原来的字符串长度加上2*空格数目。

2016-05-06 21:19:52 273

原创 在二维数组中查找一个数

题目:在一个二维数组中,每一行都按照从左到右递增的顺序,每一列都按照从上到下递增的顺序排序,编写一个函数,输入这样的一个二维数组和一个整数。判断该整数是否在二位数组中。 思路

2016-05-06 17:03:57 2065

1. 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。

1. 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。

2015-03-08

空空如也

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

TA关注的人

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