dom = xml.dom.minidom.parse('xml.xml') root = dom.documentElement hellolist = root.getElementsByTagName('Hello') for helloitem in hellolist: print helloitem.getAttribute('x') formale = helloitem.getElementsByTagName('Inter') #print formale[0].firstChild.data x = formale[0].firstChild...
这个问题也很简单,就是cout的机制是从右至左输出的,所以执行的先后顺序就是:先执行++ptr1然后输出*ptr1,最后在输出*ptr1。
堆排序 c 实现 及 c++模板实现 堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 1.堆中某个节点的值总是不大于或不小于其父节点的值; 2.堆总是一棵完全树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根...
如下面的代码:#include<iostream>using namespace std;class Base { public: virtual void fucA(void) = 0; virtual void fucA(int ); void fucB(); void fucC(); ...
topK问题就是在很多个无序的数之间选出前最小(大)的K个数,对于这种问题可以建立K大小的堆,如果是求K大个数的话,就建立最小堆,反之求最小个数的话就建最大堆。然后再遍历这个无序数组,如果遇到比堆顶元素大,就移除堆顶元素,把大的那个元素加入堆,反之亦然。 代码如
而非调用函数fo().你可以将仿函数看做一般函数,只不过用的是一种更复杂的撰写手段:并非将所有语句放在函数体中:void fo() { statements;}而是在仿函数类别的operator()体内撰写程序代码。class FunctionObject { public: void operator() { ...
今天在看源码的时候看见一个字符串比较的函数,类似于int strcmp(const char *s1,const char * s2),因为参见腾讯二面的时候写过这个函数,所以又仔细的想了一下,感觉这个代码的效率要高点,但自己写的时候也出现的了一些问题。先看有问题的代码:#include<stdio.h>#include<assert.h>int tcstricmp(const char *...
摘要:最近几个月,一直看开源软件的源代码,于是刚开始的时候就喜欢选择源代码行数少的,所以自己就写了一个统计c++开源软件的行数的shell程序,虽然很简单,但是感觉还是很实用。#!/bin/shfind . \( -name "*.cc" -o -name "*.h" \) -exec wc -l {} \; | sort -n | awk '{print $1}' > outp...
由于要在看Kyoto Cabinet的源码,所以在自己的vim上安装了taglist这个插件。 首先要下载taglist和ctags这2个包,安装ctags这个包,直接解压. ./configure && make && make install 最后一步的时候需要root权限。 解压出taglist这个包 plugin/taglist.vim taglist这个插件 ...
c语言中的宏定义,有着各种好处,当然也有它不好的一面。它实现的三个主要功能是: 1)字符串替换 2)头文件包含 3)通用代码模块的扩展 在代码调试时候,调试宏定义是比较麻烦的一件事,下面就介绍一种比较简单的方法。 #include<stdio.h>#definemax(a, b) ((a) > (b) ? (a) : (b))#definemin(a, ...