自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)

原创 ubuntu操作系统写shell的for循环会遇到的问题

Ubuntu下面写代码会遇到下面的问题,你写了一堆循环,发现都运行不了就算你写成#!/bin/bash都并没有用for i in `seq 10` do

2015-10-29 22:38:13 2567 1

原创 使用Profiles分析SQL语句执行时间和消耗资源

使用Profiles分析SQL语句执行时间和消耗资源打开profiling,默认是没开启的mysql> set profiling=1; (执行要分析的SQL语句)select count(1) from wechat_employee,Employee;显示profiles表show profiles;查询结果:+----------+------------+---------------

2015-08-07 11:30:33 999

原创 导入数据到mysql的一种简单的方法

因为ubuntu默认自带的mysql版本为5.5,并不能使用load data infile这种高级的功能,因此我们写了一个通用的脚本来上传文件shell脚本cat ./employee.csv | while read LINE

2015-08-07 09:42:19 833

原创 浏览器上传文件到PHP的几种方法

使用H5的方法来上传文件 上传失败,请重试 添加文件 " value=""> "> JS代码var data = ;var audit_type = ;var process_id =

2015-08-04 18:13:34 1226

原创 用AngularJS开发下一代应用(学习笔记)

核心特性:MVC, 模块化, 自动化双向绑定数据,语义化标签,依赖注入MVC 1970年smalltalkMVC核心理念:你应该把你管理数据的代码(model).应用逻辑代码(controller).向用户展示的代码(view)清晰的分离开数据绑定:声明UI中某个部分需要映射到某个JS属性,然后让他们自己去同步依赖注入:(自动解析依赖关系)只

2015-08-04 18:00:51 536

原创 git学习笔记

git reflog用来记录你的每一次命令git log再看看现在版本库的状态git reset --hard HEAD^第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支git log --pretty=

2015-08-04 17:58:58 428

原创 malloc和free是怎么工作的。

free一般不会把内存还给系统(只会发生在一些很罕见的情况下)第一个原因是这是在你的堆中产生很多碎片,这样在你申请完2G或者4G的虚拟内存后产生很多内存碎片。第二个原因是操作系统一般只能处理那些固定大小或者是对齐的内存块,比如4KB,例如你申请了一个堆之后,再申请一个堆,删除前面一个堆,这样就会产生内存碎片。free函数将会把内存块放回自

2015-04-24 23:40:44 905

原创 查找1亿个数里面最大的100个数。

#include#include#include#include#include#include#includeusing namespace std;int main(){ vector a(100000000,0); srand((int)time(0)); for(int i=0;i<100000000;i++) {

2015-03-31 13:42:40 1861

原创 用vector或者set删除一亿个数里的奇数

如何用vector或者set删除一亿个数里的奇数先说说VECTOR怎么删除指定的元素,因为VECTOR有迭代器失效的问题,一般人都会写这么样的一个函数for(vector::itertor it=a.begin();it!=a.end();){ if(a[i]%2==1) it=a.erase(it); else it++;}这样的函数如果数据量很小的话

2015-03-31 01:14:37 1234 2

原创 无源最短路径之--地铁换乘

问题描述:描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次)。地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 

2015-03-24 16:30:11 1194

原创 上千万或上亿数据(有重复),统计其中出现次数最多的N个数据. C++实现

上千万或上亿的数据,现在的机器的内存应该能存下。所以考虑采用hash_map/搜索二叉树/红黑树等来进行统计次数。然后就是取出前N个出现次数最多的数据了,可以用第2题提到的堆机制完成。#include "IOSTREAM"#include#include#includeusing namespace std;int main(void){ //海量待统计数据 char

2015-03-14 00:01:46 5294

原创 九度OJ

题目1185:特殊排序时间限制:1 秒内存限制:32 兆特殊判题:否提交:10572解决:2540题目描述:输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。输入:输入第一行包括1个整数N,1接下来的一行有N个整数。输出:可能有多组测试数据,对于每组数据,第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。第二行将排

2015-02-12 23:48:40 729

原创 C递归版的全排列和组合算法

For example,[1,2,3] have the following permutations:[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].全排列:从1开始递归,然后对2递归,最后对3递归    顺序是先输出 1 2 3  1 3 2  2 1 3   2  3 1 .......

2015-02-12 05:26:15 2119

原创 Linux下进程间通信的方法--信号量

这里的信号量主要是在不同的进程之间使用。 需要四个操作P操作V操作以及通过semctl调用command参数设置SETVAL来初始化信号量,在使用信号量之前必须要这么做.并且可以通过semctl调用command设置为IPC_RMID来删除信号量ID:因为库里没有定义union semun,因此需要自己定义.用到信号量的三个函数semget 用来创建一个新信号量或者取得一个已有信号

2015-02-09 01:16:29 970 1

原创 链表排序

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *g

2015-02-02 20:10:20 751

原创 哈希表实现

#include#define INT_MIN -65536struct hashTable{ int *table; int length; hashTable(int size):length(size) { table=new int[size]; for(int i=0;i<size;i++) table[i]=INT_MIN; }};int

2015-01-13 14:56:28 711

原创 leetcode-Set Matrix Zeroes

Set Matrix Zeroes Total Accepted: 25064 Total Submissions: 80609 My Submissions Question Solution Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.c

2015-01-07 04:25:53 714

原创 leetcode-Construct Binary Tree from Preorder and Inorder Traversal

Given preorder and inorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree.class Solution {private: TreeNode *root; v

2015-01-01 22:23:20 662

原创 散列表

#include//链表typedef struct listNode{ int val; listNode *next; listNode(int key):val(key),next(NULL){} listNode():val(0),next(NULL){}}*position;typedef position list;//散列表typedef struct h

2014-12-24 12:24:28 788

原创 快速排序

#include#includeusing namespace std;void InsertionSort(int a[],int N){ int j,p,tmp; for(p=1;p<N;p++) { //1-N-1趟目标 tmp=a[p]; for(j=p;j>0 && a[j-1]>tmp;j--) { a[j]=a[j-1]; } a[j]

2014-12-17 01:25:39 1116

原创 堆排序

#include#includeusing namespace std;void percDown(int a[],int i/*当前位置*/,int N/*数组大小*/){ //初始化 int child; int temp; //依次下沉 for(temp=a[i];(2*i+1)<N;i=child) { //下沉左边 child=2*i+1; //找大

2014-12-13 20:54:40 554

原创 图解STL内存管理的两种边界情况(STL源码剖析补充)

图解STL内存管理的两种边界情况(STL源码剖析补充)第一种情况就是内存池剩余的小字节空间怎么处理,会不会有内存泄露,答案肯定是不会,但是这个过程是怎么处理的,以下的代码已经简化处理,直接放到VS2010里就可以运行#include#includestatic const size_t __ALIGN=8;static const size_t __MAX_B

2014-12-04 00:16:58 1650

原创 leetcode-Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the l

2014-11-27 02:14:07 748

原创 leetcode-Minimum Depth of Binary Tree

leetcode-Minimum Depth of Binary Tree

2014-11-27 01:56:22 765

原创 leetcode-Path Sum

Path Sum Total Accepted: 31405 Total Submissions: 104326My SubmissionsQuestion Solution Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that add

2014-11-27 01:12:40 740

原创 STl-traits编程技巧

STl-traits编程技巧无论是泛型思想或者是STL(标准库)的实际运用,迭代器(iterators)都扮演着重要的作用。STL的中心思想是:将容器和算法分开,彼此独立设计,最后再讲他们融合在一起。容器和算法的泛型设计并不难,使用C++的类模板(class tempalte)和成员模板(function template)就能完成。但要是将两者融合在一起,你还需要掌握一些其他的技巧,

2014-11-26 12:56:34 962

原创 二叉树建立

二叉树建立算法#include#includetypedef struct BiTNode{ int val; struct BiTNode *lchild,*rchild;}BiTNode;void create1(BiTNode **r)//用两个星,这样才可以修改指针{ int val; scanf("%d ",&val); if(val=

2014-11-25 22:22:11 882

原创 leetcode-Binary Tree Level Order Traversal 二叉树层序遍历

leetcode-Binary Tree Level Order Traversal 二叉树层序遍历#include#includeusing namespace std;typedef struct BiTree{ int val; struct BiTree *lchild; struct BiTree *rchild;}BiTree;void main(

2014-11-24 21:22:59 755

原创 二叉树测试数据

二叉树测试数据二叉树数据结构

2014-11-22 02:10:48 997

原创 i++和++i的区别--后缀运算符效率研究

i++和++i的区别如果使用内置的类型的话是没有太大区别的,内置类型比如说int 等。如果使用的是class构造的对象,那么区别还是挺大的。我们要先理解他们各自的工作方式。++i我们成为前缀运算符,它是先自增,然后返回值i++称为后缀运算符,它是先建立一个副本,自己递增,最后返回副本。下面来解释一下为什么i++为何效率会这么低。我

2014-11-19 02:57:55 1240

原创 leetcode-Remove Duplicates from Sorted Array

leetcode-Remove Duplicates from Sorted Array Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra spac

2014-11-12 15:14:25 665

原创 leetcode-Merge Two Sorted Lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.递归版/** * Definition for singly-linked list.

2014-11-10 12:09:11 644

原创 TCP多进程并发编程-回射服务/客户程序

TCP学习之建立一个简单的客户/服务器系统--回射系统相关的资料可以参考Unix网络编程,这个只是修改版,不需要依赖任何文件,可以独立编译通过,而且是在两台不同的主机上进行的。fggets和fputs这两个函数来自标准I/O函数库,writen和readline见my_unp.h头文件//my_unp.h#include#include#include#

2014-11-04 16:51:50 1624

原创 c++实现一个简单的空间配置器allocator

c++实现一个简单的空间配置器allocator      c++中内存分配和对象构造是分开来的,内存的分配类似malloc函数在内存空间开辟一段空间,但是里面不保存任何数据。对象的构造相当于给这段空间复制。      这么做的理由有两点:      在预先分配的内存中构造对象很浪费,可能创建从不使用的对象,当实际使用预先分配的对象时,被使用的对象往往又必须重新

2014-10-26 18:16:23 2679

原创 Ubuntu下errno值

Ubuntu下errno值 每当一个Unix函数(如socket函数)中发生错误时,全局变量errno将被设置成一个指示错误类型的正整数,如果函数不返回错误,errno的值就没有定义,值为0不表示任何错误.且具有以E开头的全大写字母名字,并且通常在/usr/include/sys/errno.h中定义,在Ubuntu中存放在/usr/include/asm-generic/errno.h, 为了方便查找,我们先给出errno.h在Ubuntu里面的内容

2014-10-24 01:35:09 1921

原创 Ubuntu利用TCP协议来获取服务器时间

Linux利用TCP协议来获取服务器时间 这里使用Unix网络编程里面的一个小程序,该客户端建立一个到服务器的TCP连接,然后读取由服务器以直观可读格式简单地送回的当前时间和日期.然后我们运行这个程序若干次,每次以不同的IP地址作为命令行参数.首先我们测试本机的时间,你必须要先打开Linux下的daytime服务,方法如下

2014-10-24 00:55:52 1387

原创 STL源码之实现一个简易的Vector容器

STL源码之实现一个简易的Vector容器        这里需要的基础知识主要是类模板和函数模板,以及一个C++内存分配的技术allocator类,它提供可感知类型的内存分配,这个类支持一个抽象接口,以分配内存并随后使用该内存保存对象。       使用allocator类,首先应用allocator类建立一个allocator对象,然后使用该对象你可以分配内存,释放内存,构造你

2014-10-22 17:10:55 895

原创 在模板定义内部指定类型

在模板定义内部指定类型比如说要写一个函数模板,功能是输出STL里面容器的第一个数。那么就应该把容器的类型传递进去#include#includeusing namespace std;templatevoid p(Parm &c){ typename Parm::iterator it=c.begin(); cout<<*it<<endl;}void main

2014-10-20 23:21:33 1014

原创 大端序和小端序

大端序和小端序     一般Intel处理器或者X86平台都是小端序 ,只有老一点的摩托罗拉处理器会用大端序,所以重点掌握一下小端序。    小端序一般指低地址存低字节,高地址存高字节。。。简称 “低低高高”举个C语言的例子:#includeunion u{ int i; char j[2];}a;void main(){ a.j[

2014-10-16 20:39:04 818

原创 leetcode Maximum Subarray 最大子序列

Maximum Subarray Total Accepted: 28381 Total Submissions: 83696 My SubmissionsFind the contiguous subarray within an array (containing at least one number) which has the largest sum.For exam

2014-10-09 13:57:33 841

线性系统高清收藏版(华南理工大学用)

线性系统高清收藏版(华南理工大学用)LINEAR SYSTEM THEORY AND DESIGN Third Edition Chi-Tsong Chen State University of New York at Stony Brook New York

2013-12-01

空空如也

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