- 浏览: 286700 次
- 性别:
- 来自: 北京
最新评论
-
langzhe:
Mac 下用 sudo cpan Template,依然不能 ...
第一次 使用 tsung -
langzhe:
<server host='127.0.0.1' por ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
dlliwei:
jabberd_register.xml 内容如下(我的ser ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
dlliwei:
你好,我安装tsung后执行命令: tsung -f jabb ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
bit1129:
这么复杂的一个东西,一句话说完了?
keepalive
文章列表
Erlang bit语法入门-1
- 博客分类:
- erlang
Erlang bit语法入门
1> Red=2, Green=61, Blue=20.
3> Mem = <<Red:5, Green:6, Blue:5>>. #Red分配5个bit存储空间,Green:分配6个bit存储空间, Blue分配5个bit存储空间 5+6+5=16正好是两个字节,Erlang程序书上解释:创建了2个字节的二进制数据来存放一个16bit长的字。 shell会将这个变量打印为<<23,180>>,从而可以确认默认是8bit。23,180分别占用了8个bit的存储空间。
<<23 ...
双向链表操作日志文件
- 博客分类:
- c
2、在第 2.11 节 “本节综合练习”的习题1中规定了一种日志文件的格式,每行是一条记录,由行号、日期、时间三个字段组成,由于记录是按时间先后顺序写入的,可以看作所有记录是按日期排序的,对于日期相同的记录再按时间排序。现在要求从这样的一个日志文件中读出所有记录组成一个链表,在链表中首先按时间排序,对于时间相同的记录再按日期排序,最后写回文件中。比如原文件的内容是:
1 2009-7-30 15:16:42
2 2009-7-30 15:16:43
3 2009-7-31 15:16:41
4 2009-7-31 15:16:42
5 2009-7-31 15:16:43
6 20 ...
今天开了一上午无聊的会议,利用一些时间想了一下,双列表插入自动排序问题。
这双链表还是花了我很多时间,早上测试结果,总是不对是因为我的list_node输出造成的,让我误以为打印结果不对。
1 /* doublylinkedlist.c */
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include "doubl ...
利用环形链表实现 Josephus杀人游戏
- 博客分类:
- c
利用环形链表实现 Josephus杀人游戏
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include "circular.h"
4
5 void make_n(int n);
6 void kill_one(int, int);
7 void main(int argc, char *args[]){
8 int i=1; //用i来记录当前点数
9 int n,m;
10 scanf("%d", ...
环形双链表与蛋疼的链表反转
- 博客分类:
- c
错误蛋疼的反转 temp引用的地址已经被改变了所以不能实现反转
105 void reverse(void)
106 {
107 link node = head->next;
108 link temp;
109 temp = head;
110 head->next = head->pre;
111 head->pre = temp ->next;
112 while(node!=head){
113 temp = node;
114 node ...
单链表反转 指针坑
当我看到单链表反转这题目时,感觉这么简单啊。事实很多坑,一不小心就跳进去了。到现在我都记不清跳了多少坑。
写代码时不是死循环就是就是丢数据。 这 其实本质上是 指针的坑。一不留神就over了。
因为前面已经实现过各种列表的插入。
1、我首先想到的是从A链表中取出数据再生成一个新的链表B,从表头脑插入这样成了链表的反转了。
就顺手写了下面代码[1],运行进入死循环。
出现错误的原因:
假设,有 A->B->C->D->E这样一个链表
for循环中第一个head默认是A,h->next(A的指向的一个元素)是B。当然调用in ...
链表插入并自动排序操作思考
- 博客分类:
- c
链表插入并自动排序操作思考
修改insert函数实现插入排序的功能,链表中的数据按从小到大排列,每次插入数据都要在链表中找到合适的位置再插入。在第 6 节 “折半查找”中我们看到,如果数组中的元素是有序排列的,可以用折半查找算法更快地找到某个元素,想一想如果链表中的节点是有序排列的,是否适用折半查找算法?为什么?
1、插入并排序
64 link insert(link lnode, char ch)
65 {
66 link node = create_node(ch);
67 link *head;
68 if(lnode==NULL) ...
链表的不同的插入操作的思考
- 博客分类:
- c
1、此函数中的head被定义为static,所以不需要用return来返回
来自http://learn.akae.cn/media/ch26s01.html
insert函数虽然简单,其中也隐含了一种特殊情况(Special Case)的处理,当head为NULL时,执行insert操作插入第一个节点之后,head指向第一个节点,而第一个节点的next指针域成为NULL,这很合理,因为它也是最后一个节点。所以空链表虽然是一种特殊情况,却不需要特殊的代码来处理,和一般情况用同样的代码处理即可,这样写出来的代码更简洁
,但是在读代码时要想到可能存在的特殊情况。
当然,insert函数传 ...
测试环境
Linux jason-lxw 3.2.0-39-generic #62-Ubuntu SMP Thu Feb 28 00:28:53 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
4G内存
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
1>
测试数据:
add()->
III=&qu ...
关于单连表插入后自动从小到达排序问题
- 博客分类:
- c
原题:来自http://learn.akae.cn/media/ch26s01.html
1、修改insert函数实现插入排序的功能,链表中的数据按从小到大排列,每次插入数据都要在链表中找到合适的位置再插入。在第 6 节 “折半查找”中我们看到,如果数组中的元素是有序排列的,可以用折半查找算法更快地找到某个元素,想一想如果链表中的节点是有序排列的,是否适用折半查找算法?为什么?
1、下面是从小到大的插入函数,里面用了两个if 和 (*head)->next = node; 才实现插入自动排序功能。 我想去掉 if(lnode->next == NULL){ ...
当我看了这个例子后http://learn.akae.cn/media/ch26s01.html
感觉很简单没什么特别的(这感觉往往遗漏很多细节)。
例子中用了static 定义了关键字 static link head = NULL;
看到后我就想用非static来重写单链表。
习惯了Erlang的函数编程,在定义C语言中的函数时刻意不用指针去实现,为了进一步理解代码还刻意不用typedef定义变量。可是奋斗了很久也没实现。
不得不用取地址方式,最后也没实现。不得不用指针了,这样就造成了传输指针又返回指针了,对于C 语言这可是多此一举。
创建链表时是从表头插入的
75 st ...
main函数的标准原型说明
- 博客分类:
- c
这是我见过比较好的解释
来自http://learn.akae.cn/media/ch23s02.html
我们知道main函数的标准原型应该是int main(int argc, char *argv[]);。argc是命令行参数的个数。而argv是一个指向指针的指针,为什么不是指针数组呢?因为前面讲过,函数原型中的[]表示指针而不表示数组,等价于char **argv。那为什么要写成char *argv[]而不写成char **argv呢?这样写给读代码的人提供了有用信息,argv不是指向单个指针,而是指向一个指针数组的首元素。数组中每个元素都是char *指针,指向一个命令行参数字符 ...
使用 make USE_SPECS=false 参数编译
src/rabbit_networking.erl:49: type hostname() undefined
src/rabbit_networking.erl:71: type ip_port() undefined
我的第一个escript
- 博客分类:
- erlang
1 #!/usr/bin/env escript
2 %% -*- erlang -*-
3 -mode(compile).
4 main([]) ->
5 io:format("This is my first escript.~n");
6
7 main([Arg1]) ->
8 io:format("This is my first escript Arg1=~p~n", [Arg1]);
9 main([Arg1,Arg2]) ->
10 io:f ...
开发程序的时候,好几次都看到后台打出下面的错误日志。 但一直重现不了。
=ERROR REPORT==== 20-Feb-2013::14:07:56 ===
module: misultin_websocket
line: 243
linked websocket controlling loop crashed with reason: killed
直到昨天再测试程序时,突然发现页面报出close提示,我以为是timeout关闭的,查看了一下时间戳和日志,发现不是超市引起。但正好看到上面错误 log。也没发现什么直接关系。 ...