24.08.2022 18:21    

BLack|E
Selamlar
Üzerinde uğraştığım lisp var.
Dışarıdan dataları liste olarak kaydediyorum
amacım önce bu listeyi ilk elemana göre sıralamak daha sonra ikinci elemana göre sıralamak
unutmamakta fayda var ilk elemanın sıralaması bozulmaması gerek
vl-sort, lamda gibi kodları denedim sanırım beceremiyorum.
Yardımcı olursanız sevinirim

Gerçekte olan

    [0] ("MATERIAL_LIST")
    [1] ("TOP " "3199H" "L25*5" "S355J2" "250" "7" "0.00" "0.00")
    [2]("MIDDLE " "3109H" "PL10" "S355J2" "192" "200" "1" "3.01" "3.01")
    [3] ("TOP " "3100H" "L90*6" "S355J2" "7878" "1" "8.3" "8.3")
    [4]("BOTTOM "3115" "L50*4" "S235J0" "1438" "1" "3.06" "3.06")
    [5] ("TOP " "3106H" "PL12" "S355J2" "243" "461" "1" "10.55" "10.55")
    [6] ("MIDDLE " "3107H" "PL16" "S355J2" "198" "360" "1" "8.95" "8.95")
    [7] ("BOTTOM " "3112" "L45*4" "S235J0" "2148" "1" "2.74" "2.74")
    [8] ("TOP " "3704H" "L45*4" "S355J2" "1166" "5" "2.74" "13.7")
    [9] ("MIDDLE " "3110" "L45*4" "S235J0" "358" "1" "2.74" "2.74")
    [10] ("BOTTOM " "3111" "L45*4" "S235J0" "1044" "1" "2.74" "2.74")
    [11] ("MIDDLE " "3108H" "PL12" "S355J2" "202" "275" "1" "5.23" "5.23")
    [12] ("BOTTOM " "3113" "L45*4" "S235J0" "1358" "1" "2.74" "2.74")
    [13] ("BOTTOM " "3114" "L45*4" "S235J0" "620" "1" "2.74" "2.74")
    [14] ("TOP " "3104H" "PL8" "S355J2" "295" "396" "1" "7.34" "7.34")
    [15] ("BOTTOM " "3116" "L50*4" "S235J0" "2479" "1" "3.06" "3.06")


Olması Gereken

    [0] ("MATERIAL_LIST")
    [1] ("TOP " "3100H" "L90*6" "S355J2" "7878" "1" "8.3" "8.3")
    [2]("TOP " "3104H" "PL8" "S355J2" "295" "396" "1" "7.34" "7.34")
    [3] ("TOP " "3199H" "L25*5" "S355J2" "250" "7" "0.00" "0.00")
    [4] ("TOP " "3106H" "PL12" "S355J2" "243" "461" "1" "10.55" "10.55")
    [5]("TOP " "3704H" "L45*4" "S355J2" "1166" "5" "2.74" "13.7")
    [6] ("MIDDLE " "3107H" "PL16" "S355J2" "198" "360" "1" "8.95" "8.95")
    [7] ("MIDDLE " "3108H" "PL12" "S355J2" "202" "275" "1" "5.23" "5.23")
    [8] ("MIDDLE " "3109H" "PL10" "S355J2" "192" "200" "1" "3.01" "3.01")
    [9] ("MIDDLE " "3110" "L45*4" "S235J0" "358" "1" "2.74" "2.74")
    [10] ("BOTTOM " "3111" "L45*4" "S235J0" "1044" "1" "2.74" "2.74")
    [11] ("BOTTOM " "3112" "L45*4" "S235J0" "2148" "1" "2.74" "2.74")
    [12] ("BOTTOM " "3113" "L45*4" "S235J0" "1358" "1" "2.74" "2.74")
    [13] ("BOTTOM " "3114" "L45*4" "S235J0" "620" "1" "2.74" "2.74")
    [14] ("BOTTOM "3115" "L50*4" "S235J0" "1438" "1" "3.06" "3.06")
    [15] ("BOTTOM " "3116" "L50*4" "S235J0" "2479" "1" "3.06" "3.06")

24.08.2022 18:56    

alumina
Alıntı
BLack|E :

Olmasi gereken kisminda 3. ve 4. satirlar yer degistirecekti sanki.. Neyse siralamayi yaparken once 1. sonra 2. elemanlar siralanacaksa bu sekilde yazabilirsin..
Kod:

(vl-sort (vl-sort liste '(lambda(a b)
  (< (cadr a) (cadr b)))) '(lambda(a b)
    (< (car a) (car b))))

> 1 <
Copyright © 2004-2022 SQL: 2.06 saniye - Sorgu: 46 - Ortalama: 0.04479 saniye