Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Auswahlsortierung (Felder)

Lesen Sie eine Reihe von ganzen Zahlen in ein Array ein.

  1. Setzen Sie eine Indexvariable auf den ersten Index im Array.
  2. Sortieren Sie wie folgt: Für jeden Index suchen Sie ab dort das Minimum im verbleibenden Teil (? Index). Vertauschen Sie den gefunden Wert mit dem aktuellen Wert.
  3. Erhöhen Sie den Index um 1.
  4. Wenn Sie durch obiges Verfahren den zweitletzten Index erreicht haben, ist Ihr Array sortiert. Ansonsten zurück zu b).
  5. Ausgabe des Resultates auf der Konsole.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

2 Lösung(en)

def min(b):
   min = b[0]
   for zahl in b[1:]:
      if zahl < min:
         min = zahl
   return min      

def auswahlsortierung(a):
   for i in range(len(a)):
      m = min(a[i:])
      ind = a[i:].index(m)+i
      a[ind]=a[i]
      a[i]=m
   return a   
   

print auswahlsortierung([2, 17, 10, 9, 16, 3, 9, 16, 5, 1, 17, 14])

                
// helferlein: minimum eines arrays ermitteln
Array.prototype.min = function() { return Math.min.apply(null, this); }

function selectionSort(arr) {
  let index = 0;
  // ringtausch
  function swap(a, b) {
    let tmp = arr[a];
    arr[a] = arr[b];
    arr[b] = tmp;
  }
  // durchlaufen und tauschen
  while (index < arr.length-1) {
    swap(index, arr.indexOf(arr.slice(index).min()));
    index++;
  }
}

// array anlegen: worst case
let theArray = [];
for (let i = 20; i >= 1; i--) theArray.push(i);

// sortieren und ausgeben
selectionSort(theArray);
console.log(theArray);                                       // lissalanda@gmx.at

                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 1
Schwierigkeit: k.A.
Webcode: y45k-6qgz
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Zu Aufgabenblatt hinzufügen