// TODO: new cons for each? static public Pair append(Pair ls1, Pair ls2) { if (ls1 == null) { return(ls2); } else { Pair p = ls1.Clone(); p.cdr = append(ls1.cdr, ls2); return(p); /* Pair p = Pair.Cons(ls1.car, append(ls1.cdr, ls2)); * p.Info = ls1.Info; * return p;*/ } }
// TODO: new cons for each? static public Pair reverse(Pair pair) { if (pair == null) { return(null); } else { //TODO: change recursive copy to single copy Pair p = pair.Clone(); p.cdr = null; return(append(reverse(pair.cdr), p)); /* * Pair p = new Pair(pair.car); * p.Info = pair.Info; * return append(reverse(pair.cdr), p);*/ } }
// TODO: new cons for each? public static Pair reverse(Pair pair) { if (pair == null) return null; else { //TODO: change recursive copy to single copy Pair p = pair.Clone(); p.cdr = null; return append(reverse(pair.cdr), p); /* Pair p = new Pair(pair.car); p.Info = pair.Info; return append(reverse(pair.cdr), p);*/ } }
// TODO: new cons for each? public static Pair append(Pair ls1, Pair ls2) { if (ls1 == null) return ls2; else { Pair p = ls1.Clone(); p.cdr = append(ls1.cdr, ls2); return p; /* Pair p = Pair.Cons(ls1.car, append(ls1.cdr, ls2)); p.Info = ls1.Info; return p;*/ } }