庄泽波の博客

好记性不如烂笔头

随笔分类 -  C/C++

C/C++学习
Python和C扩展实现方法
摘要:一、Python和C扩展cPython是C编写的,python的扩展可以用C来写,也便于移植到C++.编写的Python扩展,需要编译成一个.so的共享库。Python程序中。官方文档:https://docs.python.org/2/extending/extending.html#writin... 阅读全文

posted @ 2015-04-08 21:08 庄泽波 阅读(881) 评论(0) 推荐(0)

Python模拟C++输出流
摘要:看到一Python例子,挺有意思的,用Python模拟C++的输出流OStream.单纯只是玩。原理: 利用Python __lshift__左移内建函数<<,调用时将输出内容,如果内容为回车,则处理回车。看例子^_^!!!#coding: utf-8class IOManipulator(obje... 阅读全文

posted @ 2015-03-25 11:40 庄泽波 阅读(452) 评论(0) 推荐(0)

SkipList算法实现
摘要:SkipList是一种快速查找链表,链表元素的是有序的。由W.Pugh发明于1989年。其算法复杂度如下: Average Worst caseSpace O(n) O(n log n)Search O(log n) O(n)Insert O(log n) O(n)Delete O(log n) O 阅读全文

posted @ 2015-03-25 11:24 庄泽波 阅读(752) 评论(0) 推荐(0)

C++函数模版
摘要:如果对于两种不同类型的数值进行比较,可能会写出以下的代码:int compare(const string &v1, const string &v2) { if (v1 v2) { return 1; } return 0;}这两个函数除对数值比较类弄不一样外,函... 阅读全文

posted @ 2015-01-03 23:03 庄泽波 阅读(174) 评论(0) 推荐(0)

LLVM 初探<一>
摘要:一、安装LLVM LLVM是一个低级虚拟机,全称为Low Level Virtual Machine.LLVM也是一个新型的编译器框架,相关的介绍Wikipedia。 现在LLVM的版本已经有很多,根据编译器需要选择下载的版下。 GCC/G++版本 >= 4.7,可以选择3.0以上版本,因为C++的 阅读全文

posted @ 2014-10-29 20:20 庄泽波 阅读(771) 评论(0) 推荐(0)

二叉树遍历
摘要:最近使用了二叉树,除了想起能用递归遍历外,其它的方式却想不通。痛恨自己对事情一知半解,查阅资料,总结一下,方便理解。一、各遍历顺序: 先序遍历:根->左子树->右子树 中序遍历:左子树->根->右子树 后序遍历: 左子树->右子树->根二、代码实现 1 #include 2 #inc... 阅读全文

posted @ 2014-09-25 21:49 庄泽波 阅读(217) 评论(0) 推荐(0)

leetcode - [7]Binary Tree Preorder Traversal
摘要:Given a binary tree, return thepreordertraversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[1,2,3].思路:... 阅读全文

posted @ 2014-09-25 00:54 庄泽波 阅读(152) 评论(0) 推荐(0)

leetcode - [6]Binary Tree Postorder Traversal
摘要:Given a binary tree, return thepostordertraversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[3,2,1].思路... 阅读全文

posted @ 2014-09-24 20:51 庄泽波 阅读(153) 评论(0) 推荐(0)

简单链表
摘要:今天随意看了某人的博客,看到了几道简单的数据结构算法题,来自《剑指offer》,想了下,用c实现:一、数据结点声明#include typedef struct node_type { int data; struct node *next;} node;void insert(node... 阅读全文

posted @ 2014-07-24 00:46 庄泽波 阅读(238) 评论(0) 推荐(0)

c 语言申明头文件和实现分开简单例子
摘要:很多时候,看到很多c函数的声明和实现是分开的。声明放在头文件,实现却放在另一个文件,最后函数被其他文件调用。下面以简单例子说明。一、声明部分/* test.h */#include int test_func(char *ptr); /* 声明函数 */二、实现部分/* test.c ... 阅读全文

posted @ 2013-08-29 23:20 庄泽波 阅读(717) 评论(0) 推荐(0)

导航