- 浏览: 723752 次
- 性别:
- 来自: 北京
最新评论
-
wxweven:
Surmounting 写道既然 Java 的跳表那么少,我决 ...
SkipList 跳表 -
暮雪云然:
写的不错,很透彻
Java静态内部类 -
bzhao:
好,赞扬!
Linux信号详解 -
jacktao219:
赞一个~! ,现在正在看redis 所以接触到跳表
SkipList 跳表 -
is_leon:
vote--后还要判断是否为0吧,如果为0则废掉重新置位can ...
现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数
文章列表
1. 修改 f:\meshlab\vcglib\vcg/complex/trimesh/point_sampling.h 第624行 把
n_samples_per_edge = (int)(sqrt(n_samples) +1.0);
改成
n_samples_per_edge = (int)(sqrt((double)n_samples) +1.0);
2.编辑F:\meshlab\meshlab\src\external\lib3ds-1.3.0\lib3ds\types.h
把
#ifdef _MSC_VER
#ifdef LIB3DS_EXPORTS
#defin ...
- 2009-06-29 01:11
- 浏览 2247
- 评论(0)
1.安装Yahei Consolas Hybrid字体
可以从RapidShare
下载,加压,把*.ttf文件放到C:\WINDOWS\Fonts
2.下载ClearType
补丁,安装后会在控制面板里多一个ClearType设置
3.新建一个*.reg的注册表文件,内容为:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Devstudio\6.0\Format]
[HKEY_CURRENT_USER\Software\Microsoft\Devstu ...
- 2009-06-11 13:55
- 浏览 3619
- 评论(2)
1. 删除cairo、fontconfig、freetype2、libxft四个软件包:
sudo pacman -Rd cairo fontconfig freetype2 libxft
用ubuntu版的cairo、fontconfig、freetype2、libxft替换之,这四个软件的ARU链接为:
cairo-ubuntu
fontconfig-ubuntu
freetype2-ubuntu
libxft-ubuntu
分别下载四个软件对应的PKGBUILD和相关文件,使用makepkg命令构建软件包,然后
sudo pacman -U ***.pkg. ...
- 2009-05-31 01:31
- 浏览 11810
- 评论(0)
1.头文件
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <getopt.h>
2.函数原型
int getopt_long(int argc, char * const argv[], const char *optstring, const struct option *longopts, int *longindex);
longindex参数如果没有设置为NULL,那么它就指向一个变量,这个变量会被赋值为寻找到的长选项在longopts中 ...
- 2009-04-06 11:18
- 浏览 2128
- 评论(0)
此文所有的实验都是基于下面的程序:
char str[10];
for (int i = 0; i < 10; i++) str[i] = '!';
执行完后str的值为
str = "!!!!!!!!!!"
我们把str的每个字符都初始化为惊叹号,当str的值发生变化时,使用printf打印str的值,对比先前的惊叹号,这样就可以方便的观察str发生了怎样的变化。下面我们做几个小实验,看看使用sscanf和正则表达式格式化输入后,str有什么变化。
实验1:
sscanf("123456",&quo ...
转自: http://blog.csdn.net/skywalker_nick/archive/2007/11/08/1873682.aspx
计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
...
- 2009-04-02 09:15
- 浏览 1787
- 评论(0)
这个例子是一个c/s程序,有4个文件:ruptime.c clconn.c ruptimed.c initsrv1.c,其中ruptime.c和clconn.c构成client, ruptimed.c initsrv1.c构成server, client向server发送请求,server接到请求后运行uptime命令,并把结果返回给client。编译运行方式如下:
1. 编辑/etc/services文件,追加
ruptime 4000/tcp #apue2的例子程序
重启系统,这样系统新增加一个服务ruptime,为其分配的端口号是4000,然后我们在ruptime.c的函数调用 ...
- 2009-03-31 08:51
- 浏览 1796
- 评论(0)
1. 文件权限有读,写,执行三种权限,分别用r,w,x代表,这三种权限的数值大小如下表所示:
1 x
2 w
4 r
2. 根据这三个数值可以得到混合权限数值表
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx
3. Linux的文件有三种权限组成,执行ls -lh可以看到Linux下的文件权限如下所示
drwxr-xr-x
分四个部分解释
d rwx r-x r-x
目录 文件所有者的权限 同组用户的权限 其它用户的权限
表示为数值就是755
4. umask用来设置文件或目录创建时的默认权限
下表是umask值与默认 ...
设有n
个人站成一圈,每个人持有一个密码(正整数)
。现从第t
个人开始,按顺时针方向“1,2,3,4,
…”循环报数,数到m1
(第t
个人所持密码)的人出列,然后从出列者的下一个人重新开始报数,数到m2
(刚出列者所持密码)的人又出列,如此重复进行,直到n
个人都出列为止。
问题是
:对于任意给定的n
个人的原始排列顺序,求出n
个人的出列顺序。
输入数据从文本文件中读取。该文件有两行:第1
行只有一个整数,表示报数的起始位置;第2
行是n
个所持密码。
输出结果显示在屏幕上。
例如,从文本文件读取数据
...
- 2009-02-26 21:58
- 浏览 2026
- 评论(0)
1,如果派生类和基类有相同名字的变量,派生类会覆盖基类的变量吗?
class A { int i; };
class B : public class A { int i; };
不会覆盖,只会隐藏,sizeof(A) = 4, sizeof(B) = 8可以证明这一点,隐藏的意思是说通过派生类的对象或指针无法访问基类的变量,实际上,编译器可能会对类的member加上class名称,形成独一无二的命名,这个过程叫做name-mangling, 处理后class B变成:
class B { int i1A; int i1B; } ;
2. ...
- 2009-02-23 20:52
- 浏览 1172
- 评论(0)
一. 编译器对C++的多态是通过在Class里面插入一个vptr指针,同时生成一个virtual table, 让vptr指向这个virtual table来实现的,那么什么样的Class才有必要设置vptr指针呢?如下图所示:
下面分6种情况讨论
(1)有虚函数的基类
class A {
public:
virtual void foo() {}
protected:
int i;
};
(2) 没有虚函数的基类
class A {
public:
void foo() {}
protected:
...
- 2009-02-23 12:54
- 浏览 1637
- 评论(0)
下面的程序改编自《Thinking in C++》的Instrument4.cpp
#include <iostream>
using namespace std;
enum note { middleC, Csharp, Cflat }; // Etc.
class Instrument {
public:
virtual void play(note) const {
cout << "Instrument::play" << ...
- 2009-02-19 19:51
- 浏览 2565
- 评论(0)
1。在gcc产生的汇编中,$0x80498d4表示立即数,而0x80498d4表示内存地址0x80498d4对应的内容。对于lable,比如value,则$value表示value的地址,value表示value的值。设函数func的地址&func = 0x8048828这两种调用都是一样的1) call 0x80488282) movl $0x8048828 %edx call *%edx
2.如果寄存器存的是一个地址,就说这个寄存器是一个指针,加括号表示取这个指针所指的对象
int w = 5;
movl &w %edx //%edx = &w,%edx ...
- 2009-02-19 19:48
- 浏览 1181
- 评论(0)
#include <iostream>
#define LENGTH 10
#define MAXVALUE ~(~1<<30)
using namespace std;
int A[LENGTH] = {16, 4, 10, 14, 7, 9, 3, 2, 8, 1};
/* ===========================插入排序============================================== */
/*
* 插入排序
*/
void insertion_sort(int *A, int length) {
...
- 2009-02-16 22:51
- 浏览 736
- 评论(0)
/*
* =====================================================================================
*
* Filename: kmp.cpp
*
* Description: KMP算法实现
*
* Version: 1.0
* Created: 2009年02月13日 13时19分20秒
* Revision: none * Compiler: g++
...
- 2009-02-13 16:16
- 浏览 897
- 评论(0)