Kommt Sortieren dran?

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Kommt Sortieren dran?
Hi leute!

Ich wuerd nur zu gerne wissen ob ich die aufgaben zum sortieren in scheme machen soll oder nicht ? hat jemand ne ahnung ob sortieren (wenn auch in irgendeiner primitiven form) dran kommt … der prof hatte ja gemeint es kommt in ALGOII dran , aber komischer weise sind einige der sortieraufgaben im scheme teil drin. weiss da jemand was ?

gruss,
fredator


Die Sortierte-Liste? könnte drannkommen, aber wenn es um irgendwelche Verfahren (BubbleSort oder QuickSort, etc) geht, kannst du die Aufgaben getrost abhaken, die kommen dann im Java Teil nächstes Semester.


@robert
du meinst dann diesen sortierten baum, oder? der beim 'insert den neuen wert automatisch an der richtigen stelle reinhängt (OO-aufgabe also)


Nein, es gibt glaub ich eine Klausur, in der musst du im a Teil eine Prozedur “sortierte-Liste?” schreiben, die prüft, ob eine Liste sortiert ist.


Das hat ja nicht wirklich was mit Sortieren zu tun… einfach für jedes Element prüfen, ob es bzgl. der Sortier-Relation kleiner ist als der Nachfolger


Ja, aber im b-Teil sollst du dann mithilfe der Funktion eine neue Funktion schreiben, die eine Liste sortiert.
Also das Standardsortierverfahren.


Hidiho, also ich weiss nicht, ob ich bei der richtigen Aufgabe bin, aber das ist doch recht geschenkt:

[code](define (sort-liste? liste)
(cond ((null? liste) #t)
((null? (cdr liste)) #t)
(else (if (<= (car liste) (cadr liste)) (sort-liste? (cdr liste))
#f))))

(sort-liste? '(2 1 3))
(sort-liste? '(4 5 5 5 6))

(define (einfuegen elem list)
(cond ((null? elem) list)
((null? list) (cons elem '()))
((if (<= elem (car list)) (cons elem list) (cons (car list)(einfuegen elem (cdr list )))))
(else 'mep)))

(einfuegen '2 '(1 3 ))
(einfuegen '5 '(2 5 7))

(define (sortiere lyst)
(cond ((sort-liste? lyst)lyst)
((if (<= (car lyst) (cadr lyst)) (cons (car lyst) (sortiere (cdr lyst)))
(einfuegen (car lyst) (sortiere (cdr lyst)))))))

(sortiere '(3 2 1 4))[/code]