- 浏览: 46211 次
- 性别:
- 来自: 威海
最新评论
-
shenjichao2009:
哎,我现在遇到问题,请指教。我的QQ是:897948924,请 ...
g++ 编译的小问题 -
XLLLQ:
楼上理解有问题 本来是一个东西
linux 文件描述符 进程 -
gift5168xf:
最近因为忙很少上javaeye了。但是看到了你这篇文章我不得不 ...
linux 文件描述符 进程
文章列表
平时用C或C++编程的人,一看perl,应该感觉特别灵活吧,怎么这么多格式呀。
在过程调用的时候,会涉及到C中所谓的形参。这个在perl中,是这样的
sub testPro { my (@list1, @list2) = @_; }
这是定义一个字过程,其中有@_, @_之意是,传递的当前参数的集合。当在子过程中调用传递的参数是,形式是: $_[0], $_[1]
$_[0]表示函数的第一个参数 $_[1]表示函数的第二个参数 。
参考
@_ is the list of incoming parameters to a sub. So if you write a ...
vim 整体缩进反缩进
1、块选择(ctrl+v)2、缩进“=”3、反缩进“-=”
在进行缩进进,vim 可以自动识别他缩进的级别,所以不会像 vc那一缩进的时候,文本可以一直往右移。很方便的。
今天在做鸟哥上的练习时,有这样一个修改密码的例子,
echo "newpass" | passwd --stdin myuser1
(给myuser1赋一个新密码 newpass)
但是运行的时候出错, passwd 不支持--stdin,看来我的版本比较旧呀!那怎么修改密码呢,就用chpasswd
chpasswd 可以读入未加密前的命令,且经过加密后写入/etc/shadow中。可以由标准输入读入数据。
故在不支持--stdin的时候,可以这样写
echo "myuser1:newpass" | chpasswd
这样就解决旧版本问题了 ...
今天学了一个shell script,看了鸟哥那本书,不过倒是有点和他书上的不太一样,可能是linux版本不同的问题吧!
1.在test中, 使用==代替=时出错。
可能直接在终端使用”=="可以,但是在脚本中就会报错, 所以还是使用 "="
2.在有function的脚本当中,使用sh shell.sh 执行时有错误
这时,请用chmod a+x shell.sh 把执行的权限赋予用户,然后 ./shell.sh 执行
3.在for循环时,使用(())报错。但我在网上看的例子,一试,也还是出错。。。未知why
如果查找第i小的元素,当然我们可以先排序,再得到第i个元素,是可以的,但有时候排序的话,时间复杂度往往很高,O(nlgn)或者O(n*n),下面看一下,不通过排序来查找第i小的元素。见算法导论第二版(186页)
先介绍两个函数,此函数的作用是将数组A【p, r】分成两部分,一部分大于A[r],一部分小于A[r],A[r]是分隔点。函数的返回值是A[r]元素在数组中的新位置。
PARTITION(A, p, r)
{
x<--A[r]
i<--p-1
for j<--p to r-1
{
if (A[j] <=x)
{
i ...
Bucket sort runs in linear time when the input is drawn from a uniform distribution. Bucket sort assumes that the input is generated by a random process that distributes elements uniformly over the interval[0, 1).
The algorithm is :
(Our code for bucket sort assumes that the input is an n-element ...
Counting sort assumes that each of the n input elements is an integer in the range 0 to k.
The basic idea of counting sort is to determine, for each input element x, the number of elements less
than x.This information can be used to place element x directly into its position in the output array. ...
堆排序的小例子,可以参考一下
#include <stdio.h>
int parent(int i)
{
return i/2;
}
int left_child(int i)
{
return 2*i;
}
int right_child(int i)
{
return 2*i+1;
}
//n the range needed to sort
void build_max_heap(int A[], int i, int n) // 数组A中,除A[i]外,其它元素是大顶堆
{
int max = ...
我们在用C写程序的时候,往往会用到一些运行错误,我们想定位错误在哪,又不想调试,通过是用一系列的printf打印一些信息,如果打印的信息太多,我们可能又不容易定位到到底是哪个地方打印的,现在咱们可以使用几个宏定义来解决这个问题。
__FILE__ 是 当前程序运行的文件
__LINE__ 是当前程序运行所在的行
__FUNCTION__ 是当前程序运行所在的函数。
下面举一个例子吧!
我现在在D:\project 有一个b.c,下面是b.c的内容
#include <stdio.h>
void fun()
{
printf("% ...
在dev c++ 环境中,写程序的时候,写了一个类,但是有点问题,想调试一下,但是调试的时候,老出现这个问题
your project does not have debugging info, do you want to enable debugging and rebuild your project?
在网上搜了一下解决方法
在 tools --> compiler options --> compiler, 有一个选项是:
Add these commands to the linker command line
将此选项勾选,并将内容 添加为 -g3 -gsta ...
有时候写了一个C程序,感觉没什么错误,但老是报 segment fault错误!当然了,其中一方面是和内存相关的,看看你的指针有没有乱指之类的,不过我还遇到另一方面的,同样的问题,在网上一搜也有答案,就是printf();
我们通常会利用printf()函数打印信息来帮助我们查找错误的原因,或者程序的执行流程,但当你的格式输出与后面的输出项不一致的时候,通常也会产生segment fault。如 我想输出一个字符串s, 这样写的时候,printf("%S", s);不小心写成了S,这样运行会出错,所以以后大家找不到错误的时候,就看看你的printf函数是不是出错了!
在写程序的时候,老是报错,说我free()函数错了。之前在学习的时候,知道是用了malloc 之类的时候,要用free()释放掉。为什么会出错呢,在网上搜了一下,说是程序越界。
比如:我这样 char *p = (char *p) malloc(5*sizeof(char));
但是我使用p的时候,用了大于5的空间,如 strcpy(p, "HelloWorld!");
这个时候再释放的时候就会碰到free出错的问题。所以以后使用的时候一定要注意分配足够的空间
大家可以参考下面的这个链接
http:// ...
关于select 函数,网上有很多例子。函数原型是:
int select(int n,fd_set * readfds,fd_set *
writefds,fd_set * exceptfds,struct timeval * timeout);
有个参数是 readfds和writefds,我在调用这个函数的时候,两个都是设为非空,结果,运行老是出错,不是想要的结果。
所以在使用select 函数时, 这三个 fd_set 只能一个为非空,。
像这样调用,就得不到想要结果 : select(sockfd, rfds, wfds, ...
在用java开发的时候,用eclipse 的快捷键很方便就能注释了,在VC6.0中,应该也有吧,就在网上搜了一下,结果还真有。所以就拿来分享一下。原文地址在这,非常感觉作者。
http://wenku.baidu.com/view/47f70760ddccda38376bafd1.html
VC6.0中注释快捷键的设置2009-03-13 18:521.设置工具栏中变成注释按钮:
1.工具栏上右键 -->
Customize -->
"Add-ins and Macro File"”tab页-->
SAMPLE前面打上 ...
在linux命令行中,命令的参数有的时候是一个连字符,有的时候是两个连字符,有什么区别吗,今天在网上看了一下
转自:http://doc.chinaunix.net/linux/201003/456376.shtml
对于options类型参数可以有两种方式:
1)短选项(short options):顾名思义,就是短小参数。它们通常包含一个连字号和一个字母(大写
或小写字母)。例如:-s,-h等。
2)长选项(long options):长选项,包含了两个连字号和一些大小写字母组成的单词。例如,--
size,--help等。
*注:一个程序通常会 ...