文选流氓 发表于 2003-1-16 21:44

c++恋爱程序

http://bbs.mit.edu/cgi-bin/BBSanc?/groups/GROUP_5/Programming/funny/M.982234665.A

escho 发表于 2003-1-16 23:59

挖卡卡 ~~~~~~

babyfacekiller 发表于 2003-1-17 18:40

lustig!
:D
另外问一下能用非递归方法实现二叉树的前序排列吗?
谢!

文选流氓 发表于 2003-1-17 21:18

auf deutsch oder ein Beispiel,bitte:)

文选流氓 发表于 2003-1-17 21:20

deine frage, wie kann man ohne increment bnutzen. ja?

文选流氓 发表于 2003-1-17 21: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

文选流氓 发表于 2003-1-17 21:38

嗯,我要去找个java的例子来看看~~~

babyfacekiller 发表于 2003-1-17 22: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!

文选流氓 发表于 2003-1-18 00:50

你那个Klasse konten是什么样子的呀?

文选流氓 发表于 2003-1-18 01:27

小声告诉你几件事儿:
1.我的C学得很臭,在国内是混过去的;
2.我这边Programmieren的课程居然没有讲递归;
3.看了你的问题,我大吃一惊,临时学了一会儿(幸好我的书上有)。

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

class Factorial
{
        public int fact(int i)
        {
                int result;
                if (i == 1) return 1;
                result = fact(i-1) * i;
                return result;
        }
       
        public int hohoWhile(int i)
        {
                int result = 1 ;
                int a = 0;
                while (a < i)
                {
                        result = result*(a+1);
                        a++;
                }
                return result;                       
        }
       
        public int hohoFor(int i)
        {
                int result = 1;
                for ( int a = 0; a < i; a++)
                {
                        result = result*(a+1);
                }
                return result;
        }       
}

class kkk
{
        public static voidmain (String [] args)
        {
                Factorial f = new Factorial();
                System.out.println (f.fact(10));
                System.out.println(f.hohoWhile(10));
                System.out.println(f.hohoFor(10));
        }
}


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

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


今天跟着你还学了不少东西呢,呵呵。当版主啊,被逼着学,有趣多了:)
要是不嫌我水平太臭的话,我们一起讨论讨论喽:)
页: [1] 2
查看完整版本: c++恋爱程序