- 博客(4)
- 资源 (5)
- 收藏
- 关注
原创 单链表反转(C代码)
将一个单向链表反转,也就是将1->2->3->4->...->n-1->n这样的链表反转变为n->n-1->...3->2->1,可以这样做,顺序删除链表中的节点,使链表的next指针指向前一个元素,切断与后面元素的联系。这样算法的复杂度是O(N),只需要N次遍历就可以将链表反转,代码如下:#include #include typedef struct Node* LinkList;
2013-05-15 13:47:38 1843
原创 求数组中出现次数超过一半的元素(《编程之美》寻找水贴王问题)C代码
给定一个数组,其中有一个元素的出现次数超过1/2,如何快速的找出这个元素。这个问题在《编程之美》中是这样描述的:“研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中
2013-05-14 17:55:43 2437 2
原创 关于求数组的最大值和最小值问题(C代码)
给定一个数组求该数组的最大值最小值,例如 int arr[11] = {1,2,6,2,18,54,12,-2,3,23,13}; 最大值是54,最小值是-2第一种方式:也是复杂度最高的算法,是遍历数组先找出最大值,然后同理再找出最小值。这种算法的复杂度最高需要2N次遍历和比较。第二种方式:可以采用两两分组的模式进行比较,让其中较小的元素与最小值进行比较,确定临时的最小值,同理让较大的
2013-05-13 17:56:21 5040
原创 字符串按单词(term)反转(C代码)
有一个英文句子,每个单词(term)之间用空格分隔,例如:I like English very much 要求反转后变为 much very English like I上面的问题可以利用C语言中字符串已'\0'结尾,且'\0'是字符串打印的截止符,代码如下:#include #include void reverse(char *s){ int len = strlen(s)
2013-05-10 17:13:37 1918
中科院分词器ICTCLAS,编译版(64bit)
2013-11-22
google谷歌发布基于B-Tree 的C++ 模板库cpp-btree-1.0.1.tar.gz
2013-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人