如何快速写出递归函数
2013-09-25 18:01
232 查看
三步走
1,写出迭代公式
2,写出终止条件
3,把1,2,翻译成代码
例如
求1 + 2 + 3 + 。。。+ n 的和
迭代公式为
1 到(n - 1)的和 + n
终止条件为
n 等于 1的时候终止
代码如下
int sum(int n)
{
if (n == 1)
return 1;
return sum(n -
1) + n;
}
// 把数据写入xml
typedef multimap<string,
void*> MAP_NODE;
void XMLWrite::xmlDataWrite(MAP_NODE* map,
xmlNodePtr parent)
{
MAP_NODE::iterator it = map->begin();
for (; it != map->end(); ++it)
{
if (isNode(it))
{
xmlNodePtr node =
xmlNewNode(NULL, BAD_CAST it->first.c_str());
xmlAddChild(parent, node);
if ((MAP_NODE*)it->second)
{
xmlDataWrite((MAP_NODE*)it->second, node);
}
}
else
{
xmlNewProp(parent,
BAD_CAST it->first.c_str(),
BAD_CAST "123456");
}
}
}
1,写出迭代公式
2,写出终止条件
3,把1,2,翻译成代码
例如
求1 + 2 + 3 + 。。。+ n 的和
迭代公式为
1 到(n - 1)的和 + n
终止条件为
n 等于 1的时候终止
代码如下
int sum(int n)
{
if (n == 1)
return 1;
return sum(n -
1) + n;
}
// 把数据写入xml
typedef multimap<string,
void*> MAP_NODE;
void XMLWrite::xmlDataWrite(MAP_NODE* map,
xmlNodePtr parent)
{
MAP_NODE::iterator it = map->begin();
for (; it != map->end(); ++it)
{
if (isNode(it))
{
xmlNodePtr node =
xmlNewNode(NULL, BAD_CAST it->first.c_str());
xmlAddChild(parent, node);
if ((MAP_NODE*)it->second)
{
xmlDataWrite((MAP_NODE*)it->second, node);
}
}
else
{
xmlNewProp(parent,
BAD_CAST it->first.c_str(),
BAD_CAST "123456");
}
}
}
相关文章推荐
- JavaScript 如何快速得写出递归函数
- Android-->如何快速写出属于自己的圆角图片控件
- 如何快速写出一篇好作文
- MindManager教你如何快速写出一篇好作文
- 如何快速写出一个陌生人推荐系统
- VUE -- 如何快速的写出一个Vue的icon组件?
- 如何快速的写出一个Vue的icon组件?
- 如何快速得写出快速排序
- SEOer在网站优化中,如何快速的写出原创的文章?
- 如何快速写出一篇软文?
- 如何快速写出漂亮的轮播图、幻灯片?
- 如何写出一个较好的快速排序程序
- 教你如何使用layer快速写出好看的弹出框。
- 如何快速写出代码,让你的工作效率加倍
- 如何快速写出2-归并排序
- 万字长文教你如何快速写出干货痛点文案?
- 如何写出高效的SQL脚本《一》
- 在eclipse中如何快速打开项目源文件
- 如何快速发现网站恶意镜像与网页劫持?
- 如何同时打开多个站点快速验证是否可以访问?