solution to 2.61 and 2.62
authorRamakrishnan Muthukrishnan <vu3rdd@gmail.com>
Fri, 26 Nov 2010 12:38:07 +0000 (18:08 +0530)
committerRamakrishnan Muthukrishnan <vu3rdd@gmail.com>
Fri, 26 Nov 2010 12:38:07 +0000 (18:08 +0530)
src/sicp/ex2_61.rkt [new file with mode: 0644]
src/sicp/ex2_62.rkt [new file with mode: 0644]

diff --git a/src/sicp/ex2_61.rkt b/src/sicp/ex2_61.rkt
new file mode 100644 (file)
index 0000000..a443206
--- /dev/null
@@ -0,0 +1,7 @@
+#lang racket
+
+(define (adjoin-set x set)
+  (cond ((null? set) (cons x set))
+        ((= x (car set)) set)
+        ((< x (car set)) (cons x set))
+        ((> x (car set)) (cons (car set) (adjoin-set x (cdr set))))))
\ No newline at end of file
diff --git a/src/sicp/ex2_62.rkt b/src/sicp/ex2_62.rkt
new file mode 100644 (file)
index 0000000..47fb870
--- /dev/null
@@ -0,0 +1,8 @@
+#lang racket
+
+(define (union-set set1 set2)
+  (cond ((null? set1) set2)
+        ((null? set2) set1)
+        ((= (car set1) (car set2)) (cons (car set1) (union-set (cdr set1) (cdr set2))))
+        ((< (car set1) (car set2)) (cons (car set1) (union-set (cdr set1) set2)))
+        ((> (car set1) (car set2)) (cons (car set2) (union-set set1 (cdr set2))))))
\ No newline at end of file