今天看一帖子,赵忠大哥的回复挺经典也很有用,记录下来!
在每个最后不带\n的printf后面加fflush(stdout);
在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);
另外请检查scanf的返回值。
在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可避开因局部数组大小超过默认堆栈大小1MB造成程序不能正常...
分类:
编程语言 时间:
2014-05-07 06:07:39
阅读次数:
378
最近正在进行《Effective C++》的第二遍阅读,书里面多个条款涉及到了shared_ptr智能指针,介绍的太分散,学习起来麻烦,写篇blog整理一下。
LinJM @HQU
2014/05/05
shared_ptr是一个智能指针。在C++ 11颁布之前,它包含在TR1(Technical Report 1)当中,现在囊括在C++11的标准库中。
智能指针
智能指...
分类:
其他好文 时间:
2014-05-07 05:50:43
阅读次数:
437
权重随机在项目中经常用到,所以我把它抽象到一个工具类中。
一般实现随机权重有两种方式:
1. 使用一个数组存放权重对应的实际目标,比如A的权重是2,B的权重是3,那么数据长度为5, 数组前两个存放A,后三个存放B。
然后随机一个0-数据长度的数字,直接取数组对应下标的值就可以了。
优点:数据结构简单,算法搞笑,实现简单
缺点:当权重值比较大同时数据又比较多的时候,会浪费内存...
分类:
其他好文 时间:
2014-05-07 05:34:36
阅读次数:
262
信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为:
extern int sem_init __P((sem_t *__sem, int __pshared, unsigned int __value));
sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有线程共享;...
分类:
其他好文 时间:
2014-05-07 05:05:19
阅读次数:
307
以前的模板和题目
白书例题,基本模板,多个串连接时的处理,二分加分组的处理。
注意n和m的值
n为字符个数
m为最大字符值+1
分组时,分出来的区间是[ ),左闭右开
idx[],的有效只是1-t-1,为t表示自己添加的字符
#include
#include
#include
#include
using namespace std;
const int maxn = ...
分类:
其他好文 时间:
2014-05-07 04:50:29
阅读次数:
250
题目:
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087
题意:
给出字符串s1和s2,找出s1中有多少个s2。
算法:
KMP字符串匹配。
思路:
简单,看代码吧。(需要注意的就是字符串用要scanf输入)
代码:
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2014-05-07 04:46:37
阅读次数:
304
package com.array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import...
分类:
编程语言 时间:
2014-05-07 03:45:11
阅读次数:
365
#! /usr/bin/env racket
#lang racket
#|
NAME:
getModelNumber.rkt
This program is used to get model number based on the
input model file name.
USAGE:
./getModelNumber.rkt modelfi...
分类:
其他好文 时间:
2014-05-07 03:17:09
阅读次数:
323
1.将字符串转换为xml文件
String str = "113052217251212120211XX030028李双胜,陈洋,晏永超123-1232132112,123-1231231231,123-1232132132HZ9XBP";
StringReader sr = new StringReader(str);
InputSource is = new InputSo...
分类:
其他好文 时间:
2014-05-07 03:08:06
阅读次数:
308
下图是一个创建好的链表
下面我们需要删除一个结点,例如删除第3个结点
首先定义一个指针p,并且将p指向第二个结点
然后定义一个指针q,将q指向需要删除的结点
将p指向的结点和q指向的结点相连
p->pNext = q->pNext
清空q指向的结点
free(q);
q = NULL;
删除后的链表
程序代码:
...
分类:
其他好文 时间:
2014-05-06 15:32:46
阅读次数:
325