- 博客(7)
- 收藏
- 关注
原创 Linux I/O复用之select函数详解
select函数的功能和调用顺序使用select函数时统一监视多个文件描述符的: 1、 是否存在套接字接收数据? 2、 无需阻塞传输数据的套接字有哪些? 3、 哪些套接字发生了异常?select函数调用过程: 由上图知,调用select函数需要一些准备工作,调用后还需要查看结果。设置文件描述符select可以同时监视多个文件描述符(套接字)。 此时需要先将文件描述符集中到一起。集
2017-02-12 20:50:08 14991 4
原创 【剑指offer】旋转数字的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。int minNumberInRotateArray(vector<int> rotateArray)
2017-02-08 15:49:57 422
原创 【剑指offer】两个栈实现一个队列 push pop
题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型class Solution{public: //stack1 push void push(int node) { stack1.push(node); } //stack2 pop int pop() { if (stack2.empty
2017-02-08 15:01:36 961
原创 【剑指offer】先序、中序遍历结果重建二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。#include <iostream>#include <vector>#include <stack>using namespace std;struct
2017-02-08 14:30:27 462
原创 【剑指offer】从尾到头打印链表
题目描述输入一个链表,从尾到头打印链表每个节点的值。借助一个栈实现算法如下:vector<int> printListFromTailToHead(ListNode* head) { stack<int> tempStack; //用一个栈保存链表数据 vector<int>* retVec = new vector<int>(); if (head)
2017-02-08 11:17:57 238
原创 【剑指offer】字符串中空格的替换
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。#include <iostream>using namespace std;void replaceSpace(char* str){ char strtemp[256] = { 0 }; //另外开辟一段空间保存新的字
2017-02-07 21:50:48 396
原创 【剑指offer】 二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。#include <iostream>#include <vector>using namespace std;bool Find(int target, vector<vector<int> > array) { int
2017-02-07 20:48:14 350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人