Rešitev: Uredi seznam po metodi Deli in Vladaj (Mathematica)

Iz MaFiRaWiki

Naloga: Uredi seznam po metodi Deli in Vladaj

Algoritem:

 Clear[Uredi]
 Uredi::usage = "Funkcija Uredi[s] uredi elemente seznama s po velikosti.";
 Uredi[s_List] :=
  Module[{i, j, n, novS, x, min, mini},
    n = Length[s];
    novS = s;
    For[i = 1, i ≤ n, i++,
      min = novS[[i]];
      mini = i;
      For[j = i + 1, j ≤ n, j++,
        If[novS[[j]] < min, min = novS[[j]]; mini = j]
        ];
      x = novS[[i]];
      novS[[i]] = novS[[mini]];
      novS[[mini]] = x;
      ];
    Return[novS]
    ] 

Primer uporabe:

Uredi[{1,10,35,14,13,2,11}]

{1,2,10,11,13,14,35} 

Glej tudi

Osebna orodja