Python :: Aufgabe #4 :: Lösung #2

11 Lösungen Lösungen öffentlich
#4

Funktion welche Minimum und Maximum aus einem Array zurückgibt

Anfänger - Python von Gustl - 07.12.2012 um 17:36 Uhr
Programmieren Sie eine Funktion welche aus einem Array von Integer-Elementen das Minimum und Maximum zurückgibt.
Als Übergabe-Parrameter wird das Array übergeben.

Testen Sie die Funktion mit 2 Abfragen, bzw. mit 2 verschiedenen Arrays.
Hilfestellung: Sortierverfahren - Wikipedia
#2
vote_ok
von 0 (0 Punkte) - 17.07.2015 um 00:35 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/python
#
#--------------------------------
#   title:      search or sort
#   author:     Excpt0r
#   licence:    use only with attribution, thanks! =)
#--------------------------------
#
# task: program a function which returns the min and max value
# from an integer array.
# solution: O(n) if you don't want to sort the array by yourself
# but you can also do bubblesort (very simple, but O(n^2) )
# or something similar. here is both!

def bubblesort(array):
    n = len(array)
    while True:
        newn = 1
        for i in range(n-1):
            if ( array[i] > array[i+1]):
                temp = array[i+1]
                array[i+1] = array[i]
                array[i] = temp
                newn = i+1
        n = newn
        if ( n <= 1):
            return (array[0],array[len(array)-1])
            break

def minmax(array):
    min, max = None, None
    for x in array:
        if (min == None and max == None):
            min = x
            max = x
        elif ( x < min ):
            min = x
        elif ( x > max ):
            max = x
    return (min,max)

def main():
    array1 = [13,12,11,10,9,8,7,6,5,4,3,2,1]
    array2 = [52,12,23,52,73,72,41,12,5,2,7,11,4124,635,123,15,1616,727,142,1532,3678,215]

    print "\n\tGet minima and maxima from array via search or sort! "

    print "\n Minimum Array 1: ", minmax(array1)[0]
    print " Maximum Array 1: ", minmax(array1)[1]
    print "\n Minimum Array 2: ", minmax(array2)[0]
    print " Maximum Array 2: ", minmax(array2)[1]

    print "\n Minimum Array 1, bubblesort: ", bubblesort(array1)[0]
    print " Maximum Array 1, bubblesort: ", bubblesort(array1)[1]

    print "\n Minimum Array 2, bubblesort: ", bubblesort(array2)[0]
    print " Maximum Array 2, bubblesort: ", bubblesort(array2)[1]

    return 0

if __name__ == "__main__":
    main()

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben