Dies ist ein Python-Sortieralgorithmus, der die aktuelle Indexnummer mit dem aktuellen Element, das den kleinsten Wert enthält, vertauscht.Wie funktioniert das Austauschen von Elementen in diesem Sortieralgorithmus?
Meine Frage ist, wenn der Strom wird Element 1 dann würde nicht array[index]=array[1]
, die natürlich nicht Wert 1, sondern Wert 3 im Array ist.
ich es ausgeführt, und der Code funktioniert und dreht die Indexnummer, die Wert halten 5 und der einen Haltewert 1.
Also, wenn es funktioniert Ich gehe davon aus, dass Python als array[index]=array[2]
natürlich lese ich dies nicht tun versteh das, denn und das Element ist 1.
Der Code funktioniert Ich habe es in einem Buch, aber ich versuche es mehr zu verstehen.
def selection_sort(array):
for index in range(0,len(array)-1):
value=array[index]
current=index
#Algorithm go's here
for element in range(index+1,len(array)):
if array[element]<array[current]:
current=element
array[index]=array[current]
array[current]=value
print('\tResolving element[',index,'] to',array)
array=[5,3,1,2,6,4]
print('Selection Sort...\nArray:',array)
selection_sort(array)
print('Array:',array)
Es ist schwer zu sagen, was Ihre genaue Frage ist, aber vielleicht ist Ihr Missverständnis "current = element". Das setzt "current" gerade auf den Wert von "element". Es verbindet sie nicht für immer - "current" ist möglicherweise nicht gleich "element" in der Zukunft, wenn einer von ihnen ändert. – Blorgbeard