|
| 作 者 | 主题:输入的数倒着输出来,递归 |
study_2008![]() =一知半解= 积分:211 贴数:234 |
输入的数倒着输出来
输入8次
int n=1;
void reverse()
{
char c;
if(n<=8)
{
scanf c;
reverse();
print c;
} |
winewind![]() =七步之才= 职务:版主 积分:2611 贴数:1767 |
递归效率不高,不如用堆栈 |
study_2008![]() =一知半解= 积分:211 贴数:234 |
呵呵,是啊
但是递归的可读信高,是吗?
不好意思
scanf c;后少了个n++
|
awen![]() =八面玲珑= 职务:斑竹 积分:3416 贴数:2796 |
yeah, 都有道理哦
递归写出来的算法都很简洁
可以说效率和简洁是一对矛盾
不过看看STL的源代码,看看这个为了追求效率而无所不用其极的标准库,看看里面的Binary Tree的代码实现,其实都是递归实现。
所以我觉得,其实效率并不是唯一的因素,程序的简洁和可读性也是非常重要的。
BTW:面试的时候如果写程序的话,递归是上上选,原因不言而喻
|
study_2008![]() =一知半解= 积分:211 贴数:234 |
是的,每年程序员必考的内容 |
watergao![]() =一知半解= 积分:474 贴数:367 |
我也喜欢用栈 |
fushengke![]() =化零为整= 积分:41 贴数:69 |
用栈简单明了. |
INCLUDEMAINPRINTF![]() =一知半解= 积分:203 贴数:354 |
"堆栈"什么呀? |
补 地![]() =化零为整= 积分:20 贴数:23 |
楼上的听好了! 基础知识: 堆栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。允许插入或删除操作的一端称为栈顶,另一端称为栈底,对堆栈的插入和删除操作被称为入栈和出栈。有一组CPU指令可以实现对进程的内存实现堆栈访问。其中,POP指令实现出栈操作,PUSH指令实现入栈操作。CPU的ESP寄存器存放当前线程的栈顶指针,EBP寄存器中保存当前线程的栈底指针。CPU的EIP寄存器存放下一个CPU指令存放的内存地址,当CPU执行完当前的指令后,从EIP寄存器中读取下一条指令的内存地址,然后继续执行。 |
| 返回《编程与软件开发精华》 快速返回 | |
|
| |
|
|
如果您想发帖,请先注册或登录!
| Copyright © 2006 Patching.net All rights reserved. |