2017-02-04 6 views
0

Warum hat die array Klasse keine .sort()? Ich weiß nicht, wie man ein Array direkt sortiert.Warum hat 'Array' keine In-Place-Sortierung?

Die Klasse array.array ist eine gepackte Liste, die wie ein C-Array aussieht. Ich möchte es verwenden, weil nur Zahlen in meinem Fall benötigt werden, aber ich muss in der Lage sein, es zu sortieren. Gibt es eine Möglichkeit, dies effizient zu tun?

+0

Vielleicht ist numpy geeignet? https://stackoverflow.com/questions/5540148/how-to-sort-an-integer-array-in-place-in-python – Ryan

+0

@ Ryan es ist eine gute Idee, aber ich frage mich immer noch, warum array.array () hat nicht .sort(), – luoyi

+0

@Ryan, ein Array, das kompakt ein Array von Grundwerten darstellen kann, dh kein py_object, nur new int [], short [] oder etwas anderes, es kann schnell sein Willst du sortieren, ruf einfach qsort() in C an, also bin ich ...... verwirrt – luoyi

Antwort

-2

Eine Liste ist eine Datenstruktur mit Eigenschaften, die es leicht machen, einige Dinge zu tun. Ein Array ist eine sehr gut verstandene Standarddatenstruktur und ist nicht zum Sortieren optimiert. Ein Array ist grundsätzlich eine Standardmethode zum Speichern des Produkts von Datensätzen. Es gab nie eine Idee, es zu sortieren.

+0

* "Eine Liste ist eine Datenstruktur, die Eigenschaften hat, die es leicht machen, einige Dinge zu tun." * Das ist nicht sehr spezifisch. * "Ein Array ist eine sehr gut verstandene Standard-Datenstruktur und ist nicht zum Sortieren optimiert." * Was? * "Ein Array ist grundsätzlich eine Standardmethode zum Speichern des Produkts von Datensätzen. Es gab nie eine Idee, es zu sortieren. "* Was? – Ryan

+0

Ich danke Ihnen für das erste bisschen wie es konstruktiv ist. Aber ich fürchte, Sie müssen für die zweite Beschwerde genauer sein. Ein Array ist eine Standarddatenstruktur. –

+0

Konkret: "ist nicht für das Sortieren optimiert" war der Teil, den ich beanstandete. Es gibt Tonnen von Algorithmen zum Sortieren von Sequenzen mit wahlfreiem Lesen und Schreiben mit konstanter Zeit, d.h. Arrays. Vielleicht sprechen Sie von einer anderen Art von Array mit einer Definition, die näher an "einer Standardmethode zum Speichern des Produkts von Datensätzen" liegt? array.array (worüber die Frage zu sein scheint) ist nur eine gepackte Liste. – Ryan

Verwandte Themen