CS 3343/3341 Introduction to Algorithms Spring 2012 |
Recursive Loops
|
Mystery Functions, in Java and C | |
---|---|
// Functions.java: test recursion public class Functions { void f1(int n) { while (n >= 0) { System.out.print(n + " "); n--; } } void f1r(int n) { if (n >= 0) { System.out.print(n + " "); f1r(n-1); } } void f1s(int n) { if (n >= 0) { f1s(n-1); System.out.print(n + " "); } } public static void main(String[] args) { Functions func = new Functions(); System.out.println("f1:"); func.f1(10); System.out.println(); System.out.println("f1r:"); func.f1r(10); System.out.println(); System.out.println("f1s:"); func.f1s(10); System.out.println(); } } | // functions.c: test recursion #include <stdio.h> static void f1(int n) { while (n >= 0) { printf("%i ", n); n = n - 1; } } static void f1r(int n) { if (n >= 0) { printf("%i ", n); f1r(n - 1); } } static void f1s(int n) { if (n >= 0) { f1s(n - 1); printf("%i ", n); } } void main() { printf("f1:\n"); f1(10); printf("\n"); printf("f1r:\n"); f1r(10); printf("\n"); printf("f1s:\n"); f1s(10); printf("\n"); } |