Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  vl-sort

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  vl-sort (1566 mal gelesen)
gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


Sehen Sie sich das Profil von gmk an!   Senden Sie eine Private Message an gmk  Schreiben Sie einen Gästebucheintrag für gmk

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 19. Jul. 2011 11:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus!

Kann mir jemand erklären nach welchem Algorithmus lisp sortiert.
Wenn ich mir die zwei Beispiele anschaue kann ich zumindest keine Systematik im Abarbeiten der Liste erkennen, vorausgesetzt die ursprüngliche Liste wird in ihrer Reihenfolge nicht verändert.

Muß ich das wissen wenn ich mir eine eigene comparison-function bastle, oder reicht da T und nil als Rückgabewert?

(DEFUN ablauf ()
  (vl-sort LISTE
            (function (lambda (e1 e2)
            (PRINC "\n") (PRINC e1) (PRINC "  ") (PRINC e2)
                        (< e1 e2)
      )
            )
  )

)


Liste ("x" "zz" "AB" "AA" "cH" "FG" "51" "45" "51")

zz  x
AA  AB
AA  x
AB  x
FG  cH
51  45
45  51
51  51
45  FG
51  FG
51  FG
45  AA
51  AA
51  AA
FG  AA
FG  AB
FG  x
cH  x

Ergebnis ("45" "51" "51" "AA" "AB" "FG" "cH" "x" "zz")


Liste ("23" "2" "51" "45" "46" "19" "15" "100" "a1")

2  23
45  51
45  2
45  23
19  46
a1  100
100  15
a1  15
100  19
15  19
a1  19
a1  46
100  2
15  2
19  2
46  2
46  23
46  45
46  51
a1  51

Ergebnis ("100" "15" "19" "2" "23" "45" "46" "51" "a1")


Ciao Georg

------------------
http://www.xxx-tausend.info

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 19. Jul. 2011 12:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für gmk 10 Unities + Antwort hilfreich

Hallo Georg,
bei der Verwendung von VL-SORT kannst Du aber auch noch weitere Funktionen einbauen, ich habe mal zwei Beispiele mit ATOI und STRCASE gemacht, je nach dem, was für ein Ergebnis Du brauchst.

Code:

(DEFUN ablauf ()
  (vl-sort LISTE
  (function (lambda (e1 e2)
      (< (atoi e1) (atoi e2))))))

(DEFUN ablauf ()
  (vl-sort LISTE
  (function (lambda (e1 e2)
      (< (strcase e1) (strcase e2))))))


------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Meldin
Mitglied



Sehen Sie sich das Profil von Meldin an!   Senden Sie eine Private Message an Meldin  Schreiben Sie einen Gästebucheintrag für Meldin

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 19. Jul. 2011 14:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für gmk 10 Unities + Antwort hilfreich

Hi,
 
Zitat:
Kann mir jemand erklären nach welchem Algorithmus lisp sortiert.


Schau mal die Dezimalzahl in einer Asccii Tabelle, der einzelnen listenteile nach. Dann erhälst du die Reihenfolge.

[Diese Nachricht wurde von Meldin am 19. Jul. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 21. Jul. 2011 08:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für gmk 10 Unities + Antwort hilfreich


liste_sortieren.lsp.txt

 
Hallo Georg,

ich habe mir für das Sortieren eine eigene Funktion geschrieben. Vielleicht hilft sie Dir weiter.

Viele Grüße
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 25. Jul. 2011 16:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für gmk 10 Unities + Antwort hilfreich

bei einem reinen STRING Vergleich wird nun mal
immer vom linkesten Zeichen aus sortiert.

"1"
"11"
"12"
....
"18"
"19"
"2"
"20"
"21"
....
"28"
"29"
"3"
"30"
....


"A..."
"B..."
"C..."
....
"a..."
"b..."

[Diese Nachricht wurde von fuchsi am 25. Jul. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Fertigungsplaner / Anlagenplaner (m/w/d)

  • Planung und Steuerung von Fertigungseinrichtungen für Industrialisierungsprojekte
  • Erstellen von Lastenheften für Neuanlagen
  • Lieferantenauswahl, Angebotseinholung und Unterstützung des Einkaufs im weiteren Beschaffungsprozess
  • Erarbeitung von Fertigungskonzepten und Entscheidungsgrundlagen unter wirtschaftlichen Gesichtspunkten und dem ...
Anzeige ansehenProjektmanagement
gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


Sehen Sie sich das Profil von gmk an!   Senden Sie eine Private Message an gmk  Schreiben Sie einen Gästebucheintrag für gmk

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 25. Jul. 2011 16:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die Antworten!

Hab jetzt die Liste in "String" und "Int" Listen geteilt und hinterher wieder zusammegefügt.

Ciao Georg

------------------
http://www.xxx-tausend.info

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz