摘要: Linux-0.11源码中init/mian.c文件中定义了printf()函数,这个函数的参数包含了可变参数列表。以前没太注意过可变参数列表,所以这个地方没看懂,所以拿过来K&R翻了翻,找到了答案。这是我写的测试函数:/************************************************************************* > File Name: args_list.c > Author:qusijun > Mail: wiilen.lian@gmail.com > Created Time: 2013年11月15日 阅读全文
posted @ 2013-11-15 21:52 lianw 阅读(555) 评论(0) 推荐(0) 编辑
摘要: /************************************************************************* > File Name: merge_sort.c > Author:qusijun > Mail: wiilen.lian@gmail.com > Created Time: 2013年11月09日 星期六 12时29分03秒 ************************************************************************/#includeint auxi_array[1. 阅读全文
posted @ 2013-11-09 15:24 lianw 阅读(258) 评论(0) 推荐(1) 编辑
摘要: k-近邻算法很简单,这里就不赘述了,主要看一下python实现这个算法的一些细节。下面是书中给出的算法的具体实现。def clssify(inX,dataset,label,k): #计算距离 datasetSize = dataset.shape[0] diffMat = tile(inX,(dataSize,1))-dataset sqdiffMat = diffMat ** 2 distance = sqdiffMat.sum(axis = 1) sorteddistance = distance.argsort() labelcount = {... 阅读全文
posted @ 2013-09-11 17:03 lianw 阅读(3149) 评论(1) 推荐(0) 编辑
摘要: 以前写过一个非常白痴的备份脚本,就是将着整个我文件夹都拷贝到u盘里,每次拷贝前都将已经存在的文件夹删除掉。这样的话程序就很傻瓜代码也很少1 import os2 3 def backup(from_path,to_path):4 if os.path.exists(to_path):5 os.system('rm -rf to_path')6 os.system('cp from_path to_path')今天在python cookbook上看到一段代码,这段代码也是利用python进行备份文件夹,但是它的程序要聪明一点,只拷贝那些还未被备份的文件 1 im 阅读全文
posted @ 2013-08-12 16:09 lianw 阅读(862) 评论(0) 推荐(0) 编辑
摘要: 用MySQLdb模块取出数据表的后几条记录的时候理所当然的把sql语句写成了这种1 num=102 sql = 'select * from table_name order by id desc limit %d'3 4 self.cursor.execute(sql,(num))一运行就会发现报错,错误信息是1 TypeError:%d format: a number is required,not str原来是因为MySQLdb的字符串格式化方法跟python不一样,应该对所有的fields用%s格式化所以这个错误的解决方法是把sql语句中的%d替换成%s。 阅读全文
posted @ 2013-08-11 10:57 lianw 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1 /************************************************************************* 2 > File Name: main.c 3 > Author:qusijun 4 > Mail: wiilen.lian@gmail.com 5 > Created Time: 2013年08月08日 星期四 10时19分06秒 6 ************************************************************************/ 7 8 #inclu... 阅读全文
posted @ 2013-08-08 20:47 lianw 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 解一道题的时候要用到字符串分割,但是c标准库里没有类似java,python中的split()函数啊,自己写的话要用到strtok()这个函数,这可真是个让人蛋疼的函数。下面说为什么。给出我的原始代码 1 #include 2 #include 3 #include 4 5 int split(char **arr,char *str,const char *del) 6 { 7 int count =0; 8 char *s = strtok(str,del); 9 while (s)10 {11 *arr++ = s;12 ... 阅读全文
posted @ 2013-07-22 13:34 lianw 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 在一些高级语言中都有现成的将各种进制之间的转换函数,c语言中没有这种函数,自己写也很方便。这是我在一本书上看到的一道题。题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。输入:输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。。n保证是int范围内的一个整数。输出:对应每个测试案例,输出一个整数,代表输入的那个数中1的个数。样例输入:345-1样例输出:1232给出我的答案: 1 #include 2 #include 3 //int binary[32]; 4 int main() 5 { 6 ... 阅读全文
posted @ 2013-07-21 15:49 lianw 阅读(1273) 评论(0) 推荐(0) 编辑
摘要: 问题描述小明很贪玩,总是找些小游戏玩儿,今天他看到了一个新的游戏--连连跳,游戏是在一个由nxm个单元格组成的矩形里进行,每个方格里有一个整数x,表示从该方格向上,向下,向左,向右能跳1 2 #include 3 #include 4 #define true 1 5 #define false 0 6 #define max 10100 7 8 struct 9 {10 int x,y,step,pre;11 }queue_type[max];12 int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};13 int vis[max][max];14... 阅读全文
posted @ 2013-07-18 10:53 lianw 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 编写c语言程序时候,经常会引用math.h这个头文件,如果使用的是gcc编译器,需要在编译选项中加入-lm,因为math.h在libm.so这个静态库中。不然会出现“undefined refrence to ”c语言的标准包括两部分,一部分是c语言的的语法描述,一部分是c语言标准库。c标准库中包含了的头文件中有函数,变量,结构的声明和一些宏定义。要在一个平台支持c语言,不仅要实现c编译器,还要实现c语言标准库。也有没有完全实现c语言标准库的例子,有些单片机的c语言开发工具就只实现了c编译器和部分c标准库。Linux平台下使用的是最广泛的是glibc函数库,其中包含了c标准库的实现。几乎所有的 阅读全文
posted @ 2013-07-16 16:39 lianw 阅读(2232) 评论(1) 推荐(1) 编辑