我在 pascal (或 delphi )中编写了一个递归树函数,但是当我运行它时,我收到了“内存不足”消息。我需要将这段代码中的计算递归函数转换为非递归函数,你能告诉我怎么做吗:
program testing(input, output);
type
ptr = ^tr;
tr = record
age: byte;
left, right: ptr;
end;
var
topper: ptr;
total, day: longint;
procedure mycreate(var t: ptr);
var
temp:ptr;
begin
new(temp);
temp^.age := 1;
temp^.left := nil;
temp^.right := nil;
t := temp;
end;
procedure gooneday(var t: ptr);
begin
if t^.age <> 5 then
begin
if t^.age = 2 then
mycreate(t^.left)
else if t^.age = 3 then
mycreate(t^.right);
t^.age := t^.age + 1;
total := total …Run Code Online (Sandbox Code Playgroud) 如果我有这样的枚举
enum Errors
{ErrorA=0, ErrorB, ErrorC};
Run Code Online (Sandbox Code Playgroud)
然后我想打印到控制台
Errors anError = ErrorA;
cout<<anError;/// 0 will be printed
Run Code Online (Sandbox Code Playgroud)
但我想要的是文本"ErrorA",我可以不使用if/switch吗?
你有什么解决方案?
我目前在Eclipse中有一个Android项目.
我用1.5(sdk 3)的目标版本创建了它.
现在我想改变它,使它的minSdk为3,targetSdk为8.
要做到这一点,我发现我必须构建最新的SDK(2.2)
要在Eclipse中执行此操作,我右键单击我的项目,转到属性,单击Android并将项目构建目标更改为Android 2.2,然后单击"应用",然后单击"确定".
然而,这似乎没有任何影响,当我再次尝试时,目标构建设置回Android 1.5.
我错过了一步还是什么?
我一直在尝试找出如何使用pybluez监视附近的设备...
我希望能够运行我的程序,并让它每20秒搜索一次设备。问题是,如何使pybluez很好地放置?:/
使用他们的示例代码http://code.google.com/p/pybluez/source/browse/trunk/examples/simple/inquiry.py,很容易找到设备。运行该代码,它将吐出MAC地址以及设备名称(如果选择的话)。
如何将其循环?我一直在玩以下代码,但是>。<
import bluetooth
def search():
while True:
devices = bluetooth.discover_devices(lookup_names = True)
yield devices
for addr, name in search():
print "{0} - {1}".format(addr, name)
Run Code Online (Sandbox Code Playgroud) 我有这样的事情:
public abstract class Menu {
public Menu() {
init();
}
protected abstract void init();
protected void addMenuItem(MenuItem menuItem) {
// some code...
}
}
public class ConcreteMenu extends Menu {
protected void init() {
addMenuItem(new MenuItem("ITEM1"));
addMenuItem(new MenuItem("ITEM2"));
// ....
}
}
//Somewhere in code
Menu menu1 = new ConcreteMenu();
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,超类的init方法是抽象的,并且在创建对象后由构造函数自动调用.
我很好奇我是否可以遇到像这样的代码的某些问题,当我需要创建一些这样的结构时,其结构不会及时更改.
会有更好的方法吗?它适用于Java,但它可以在C++和ActionScript中使用吗?
谢谢你的答案.
例如,我有一个像这样的字符串:
$html = '
<a href="test.html">test</a>
<a href="http://mydomain.com/test.html">test</a>
<a href="http://otherdomain.com/test.html">test</a>
<a href="someothertest/otherdir/hi.html">hi</a>
';
Run Code Online (Sandbox Code Playgroud)
我想将绝对网址附加到没有给出绝对域名的所有hrefs.
$html = '
<a href="http://mydomain.com/test.html">test</a>
<a href="http://mydomain.com/test.html">test</a>
<a href="http://otherdomain.com/test.html">test</a>
<a href="http://mydomain.com/someothertest/otherdir/hi.html">hi</a>
';
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?我猜RegEx的东西,但我的RegEx技能是**;)
提前致谢!
我希望学习XML,以便我可以在ASP.NET中使用它.任何人都可以提供一个在线资源的URL(或者,在最坏的情况下,书名),它有很好的XML内容?如果它包含有关XSLT/XSL的信息,那就更好了.
我想用 相同的出现次数替换前导空格,即
位说明:
如果输入中存在一个前导空格,那么它应该替换为一个
如果输入中存在两个前导空格,那么它应该替换为两个
如果输入中存在n个前导空格,那么它应该用n次精确替换
Ex.1:
My name is XYZ
output:
My name is XYZ
Ex.2 :
My name is XYZ
output:
My name is XYZ
Run Code Online (Sandbox Code Playgroud)
我想用PHP正则表达式替换只有前导空格.
欢迎您的建议.
谢谢
我现在正在学习Ruby和RoR,我遇到了这个:
<% for post in @posts %>
Run Code Online (Sandbox Code Playgroud)
在Rails指南中.我明白在Ruby中这样做的惯用方法是:
<% @posts.each do |post| %>
Run Code Online (Sandbox Code Playgroud)
如果有差异那么它是什么?如果没有差别那么Rails人就不会更好地推动正确的Ruby习语(而不是这个,对我来说看起来更像pythonic)?
编辑:我刚刚发现了两个相互矛盾的解释:Tutorials Point说它们是相同的,除了"for循环不会为局部变量创建一个新的范围",而CS.Auckland.ac.NZ说for的只是语法相当于糖.each.
EDIT2:该for ... in问题是在index.html.erb生成app/views/posts的script/generate scaffold.我做了快速检查,现在生成.each语法.我想这部分指南是在支架生成时在轨道开发的早期阶段编写的for ... in.
编辑3:我现在可以确认for x in y在Rails 2.2.2中使用了它,但是它使用的是2.3.8 y.each do |x|.你知道吗
如果我们在我的网站中使用了jquery弹出窗口,并且用户块在浏览器中弹出.它有效吗?