萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 2111|回复: 10

c++恋爱程序

[复制链接]
发表于 2003-1-16 22:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
http://bbs.mit.edu/cgi-bin/BBSan ... funny/M.982234665.A
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-1-17 00:59 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-1-17 19:40 | 显示全部楼层
lustig!
:D
另外问一下能用非递归方法实现二叉树的前序排列吗?
谢!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-1-17 22:18 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-1-17 22:20 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-1-17 22:36 | 显示全部楼层
Status F_recursive(int n,int &s)//递归算法
{
if(n<0) return ERROR;
if(n==0) s=n+1;
else
{
F_recurve(n/2,r);
s=n*r;
}
return OK;
}//F_recursive
Status F_nonrecursive(int n,int s)//非递归算法
{
if(n<0) return ERROR;
if(n==0) s=n+1;
else
{
InitStack(s);
while(n!=0)
{
a=n;b=n/2;
push(s,a);
n=a/2;
}//while
s=1;
while(!StackEmpty(s))
{
pop(s,t);
s*=t;
}//while
}
return OK;
}//F_nonrecursive



3.26
float Sqrt_recursive(float A,float p,float e)//求平方根的递归算法
{
if(abs(p^2-A)<=e) return p;
else return sqrt_recurve(A,(p+A/p)/2,e);
}//Sqrt_recurve
float Sqrt_nonrecursive(float A,float p,float e)//求平方根的非递归算法
{
while(abs(p^2-A)>=e)
p=(p+A/p)/2;
return p;
}//Sqrt_nonrecursive
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-1-17 22:38 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-1-17 23:31 | 显示全部楼层
斑竹太热心了!!谢谢。
我说的是bin&auml;rb&auml;ume Pre_Order_Tieflaufen mit eine nicht rekursive Methode.
我先写一个rekursiv的例子。
c++:
void PreOrder(BinaryTreeNode<T>*t)
{ if(t){
    visit(t);
    PreOrder(t->LeftChild);
    PreOrder(t->RightChild);
    }
}
java:
void Pre_order_Tiefendurchlauf(konten k)
{if(k!=null)
   {System.out.println(k.zahl);
    Pre_Order_Tiefendurchlauf(k.links);
    Pre_Order_Tiefendurchlauf(k.rechts);
    }
}
jetzt muss ich eine iterative Methode schreiben!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-1-18 01:50 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-1-18 02:27 | 显示全部楼层
小声告诉你几件事儿:
1.我的C学得很臭,在国内是混过去的;
2.我这边Programmieren的课程居然没有讲递归;
3.看了你的问题,我大吃一惊,临时学了一会儿(幸好我的书上有)。

所以,我只能用java来回答你的问题。刚才我试着用java编了一个1*2*3*……n的小程序。用了三种不同的方法。第一种是递归的,第二、三种不是。分别用了while和for。你看看吧。

  1. class Factorial
  2. {
  3.         public int fact(int i)
  4.         {
  5.                 int result;
  6.                 if (i == 1) return 1;
  7.                 result = fact(i-1) * i;
  8.                 return result;
  9.         }
  10.        
  11.         public int hohoWhile(int i)
  12.         {
  13.                 int result = 1 ;
  14.                 int a = 0;
  15.                 while (a < i)
  16.                 {
  17.                         result = result*(a+1);
  18.                         a++;
  19.                 }
  20.                 return result;                       
  21.         }
  22.        
  23.         public int hohoFor(int i)
  24.         {
  25.                 int result = 1;
  26.                 for ( int a = 0; a < i; a++)
  27.                 {
  28.                         result = result*(a+1);
  29.                 }
  30.                 return result;
  31.         }       
  32. }

  33. class kkk
  34. {
  35.         public static void  main (String [] args)
  36.         {
  37.                 Factorial f = new Factorial();
  38.                 System.out.println (f.fact(10));
  39.                 System.out.println(f.hohoWhile(10));
  40.                 System.out.println(f.hohoFor(10));
  41.         }
  42. }
复制代码


下面这个link是专讲二叉树的,有兴趣去看看。
http://student.zjzkb.edu.cn/cour ... /shu/shu6.1.1.1.htm

我觉得,你的这个作业其实不太需要考虑到二叉树的问题(因为没看到你的konten),你只需要像普通处理递归跟非递归的方法那样完成这个作业就好了。


今天跟着你还学了不少东西呢,呵呵。当版主啊,被逼着学,有趣多了:)
要是不嫌我水平太臭的话,我们一起讨论讨论喽:)
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-2 08:37 , Processed in 0.062338 second(s), 17 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表