Python :: Aufgabe #4 :: Lösung #2
11 Lösungen
#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
Als Übergabe-Parrameter wird das Array übergeben.
Testen Sie die Funktion mit 2 Abfragen, bzw. mit 2 verschiedenen Arrays.
Hilfestellung: Sortierverfahren - Wikipedia
#2
von 0 (0 Punkte)
- 17.07.2015 um 00:35 Uhr
#!/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
Seite 1 von 0
1
