Ταξινόμηση με επιλογή -παράλληλοι πίνακες και ισοβαθμία

Ξεκίνησε από tsak, 07 Ιαν 2021, 08:39:34 ΜΜ

« προηγούμενο - επόμενο »

tsak

Καλησπέρα και καλή χρονιά!
Σε περίπτωση άσκησης που ζητάνε ταξινόμηση με επιλογή και επηρεάζεται άλλος παράλληλος πίνακας (το ζήτησαν 2 φορές τουλάχιστον αλλά με ΦΥΣΑΛΙΔΑ), έχει κάποιος καμιά καλύτερη - γρηγορότερη υλοποίηση σε σχέση με το παρακάτω?
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
    Θ <- Ι
    ΓΙΑ Κ ΑΠΟ Ι + 1 ΜΕΧΡΙ 6
      ΑΝ Α[Θ] > Α[Κ] ΤΟΤΕ
        Θ <- Κ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΜΠ1 <- Α[Θ] 
    Α[Θ] <- Α[Ι] 
    Α[Ι] <- ΤΕΜΠ1
    ΤΕΜΠ2 <- ΟΝ[Θ] 
    ΟΝ[Θ] <- ΟΝ[Ι] 
    ΟΝ[Ι] <- ΤΕΜΠ2
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 6   ! για κάθε Ι>1
    Λ <- Ι             ! συγκρίνω προς τα πίσω και βλέπω αν υπάρχει ισοβαθμία...
    ΑΝ Α[Λ] = Α[Λ - 1] ΤΟΤΕ
      FLAG <- ΑΛΗΘΗΣ
      ΟΣΟ Λ > 1 ΚΑΙ FLAG = ΑΛΗΘΗΣ ΕΠΑΝΑΛΑΒΕ
        ΑΝ Α[Λ] = Α[Λ - 1] ΤΟΤΕ
          ΑΝ ΟΝ[Λ] < ΟΝ[Λ - 1] ΤΟΤΕ
            ΤΕΜΠ2 <- ΟΝ[Λ] 
            ΟΝ[Λ] <- ΟΝ[Λ - 1] 
            ΟΝ[Λ - 1] <- ΤΕΜΠ2
          ΤΕΛΟΣ_ΑΝ
        ΑΛΛΙΩΣ
          FLAG <- ΨΕΥΔΗΣ
        ΤΕΛΟΣ_ΑΝ
        Λ <- Λ - 1
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6
    ΓΡΑΨΕ ΟΝ[Ι], '-', Α[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Αποστολάτος Άκης

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
    Θ <- Ι
    ΓΙΑ Κ ΑΠΟ Ι + 1 ΜΕΧΡΙ 6
      ΑΝ Α[Θ] > Α[Κ] Η (Α[Θ]=Α[Κ] ΚΑΙ ΟΝ[Θ] < ΟΝ[Κ]) ΤΟΤΕ
        Θ <- Κ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΜΠ1 <- Α[Θ]
    Α[Θ] <- Α[Ι]
    Α[Ι] <- ΤΕΜΠ1
    ΤΕΜΠ2 <- ΟΝ[Θ]
    ΟΝ[Θ] <- ΟΝ[Ι]
    ΟΝ[Ι] <- ΤΕΜΠ2
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

tsak