Java -Auswahl

Java -Auswahl
Das niedrigste Element steht an erster Stelle in der Auswahlsorten. Dann wird der Anfangsknoten umgeschaltet, und wir wiederholen für den Rest der Liste. Die Auswahlsart in Java erfordert keinen mehr Platz zum Sortieren, der wiederholt das kleinste Element bestimmt und mit dem ausgetauscht wird, der bereits in der geeigneten Position vorhanden ist. Darüber hinaus können wir die Komplexität der Auswahlsart bestimmen, indem wir die Anzahl der Schleifen zählen. Da die Auswahlsorte zwei für die Schleife verwendet, ist die Zeitkomplexität O (N2).

Beispiel 1:

Die Auswahl sortiert iteriert die Elemente im angegebenen ungeortierten Array. Das minimale Element wird ausgewählt und in jeder Iteration der Auswahlsorte auf die sortierte Subtarray bewegt. Das folgende Programm wird für die Auswahlsorte verwendet, um ein Array in aufsteigender Reihenfolge zu sortieren:

Die Kurs „AscendingSelectionSort“ ist im Java -Programm aufgebaut, das zuvor erwähnt wird. Diese Klasse wird mit der void "Sortier" -Funktion implementiert, bei der das Integer -Array „MyArray“ ein Parameter übergeben wird. In der Funktion „Sortier“ entschlüsseln wir das Objekt „Arraysize“, um die Größe des Arrays aus der Längenmethode zu erhalten. Darüber hinaus setzen wir die For-Loop.

Der nächste Schritt besteht darin, ein Objekt namens „min“ zu entwickeln, das das unortierte Array -Element mit dem niedrigsten Wert lokalisiert. Die andere For-Loop wird angerufen, um die Indexposition des Mindestelements aus dem Array abzurufen. Die For-Schleife iteriert von „i+1“ bis zum letzten Element eines Arrays. Als nächstes haben wir eine Wennsbeschreibung, um zu überprüfen. In diesem Fall wird der Mindestindex erhöht. Dann wenden wir den Tauschalgorithmus an, indem wir den Mindestwert des Arrays mit dem ersten Wert austauschen. Dort haben wir eine andere Funktion, die „PrintArray“, die so eingerichtet ist. Wir drucken das sortierte Array, indem wir jedes Element des Arrays durch den For-Loop iteriert.

Am Ende testen wir die Implementierung der Auswahlsortierung innerhalb der Main () -Methode. Hier definieren wir das Objekt "OBJ" für die Klasse "AscendingSections“ und initialisieren auch das "Myarray" -Array mit den Ganzzahlelementen. Dann verwenden wir die Funktion „Sortier“ mit diesem Array als Parameter, um das Array zu sortieren, das dann auf der Konsole gedruckt wurde.

Die Auswahlsortechnik wird verwendet, um das folgende Array zu erstellen, das in aufsteigender Reihenfolge sortiert ist:

Beispiel 2:

Die Auswahlsart kann auch für das Array verwendet werden, das nicht voreingestellt ist. Der Benutzer tritt zuerst in die Größe des Arrays ein. Dann tritt das Element im Array mit dem angegebenen Array ein.

Im vorherigen Programm von Java haben wir die Klasse „UserDefinedSelectionSort“ definiert. Die Klasse ist mit der Funktion „Tausching“ definiert und nimmt die „x []“, „i“ und „j“ als Parameter an. Die Array -Elemente werden zuerst verglichen und dann mit der Variablen „Temp“ ausgetauscht. Danach haben wir eine andere Funktion - "UserDefinedSelectionsSort" - wobei das Array "x []" und die Objektgröße als Parameter definiert sind. Diese Funktion wird mit dem verschachtelten Verstoß aufgerufen. Wir haben zuerst das unsortierte Array vom ersten Index bis zum letzten durchquert.

Anschließend überqueren wir das unsortierte Array von „i+1“ zum letzten Wert des Arrays, um das Mindestelement aus dem ungeortierten Array zu erhalten und den Mindestindex zu aktualisieren. Danach nennen wir die Funktion "tauschen", um das X [i] mit dem x [min_index] zu tauschen. Anschließend haben wir ein Main () -Methodformular, in dem wir die Eingabe vom Benutzer abnehmen, indem wir das Objekt „Eingabe“ erstellen und das System in der Methode aufrufen. Das Objekt „S“ bezeichnet die Länge des Arrays, die die nächste Methode verwendet. Die Arraylänge wird im Array "x []" deklariert und dann als Wert für das Array innerhalb der Arraygröße erhalten. Das anfängliche Array wird zuerst angezeigt, dann wird das sortierte Array aus der Auswahl -Sortiermethode durchquert und angezeigt.

Bei der Zusammenstellung des vorherigen Codes wurde das Terminal zuerst gebeten, die Größe des Arrays einzugeben. Nach der Definition der Größe des Arrays gibt der Benutzer die zufälligen Elemente ein. Dann wird die Auswahlsortierung durchgeführt. Das anfängliche unsortierte Array und das Auswahlsort -Array werden im Folgenden angezeigt:

Beispiel 3:

Als nächstes erfolgt die Auswahlsortierung auf der einzig verknüpften Liste. Die Technik beinhaltet den Tausch des verknüpften Listenknotens anstelle der Daten innerhalb der Knoten.

Im vorherigen Programm haben wir eine Java -Klasse "LinkedListectionsSort", in der wir eine andere Klasse definieren, den „Knoten“, den „Knoten“,. Die Klasse "Knoten" wird mit dem Objekt "mydata" und dem Knotenobjekt "Next_node" deklariert. Anschließend haben wir eine "Swapnodes" -Funktion, bei der der aktuelle Knoten "Curr_n1" mit einem anderen aktuellen Knoten "Curr_n2" getauscht wird, ohne die Knotenelemente in der verknüpften Liste auszutauschen. Zuerst haben wir die "Curr_N2" im Voraus gemacht und dann die Links anpassen. Danach tauschen wir die Knoten mit der Temperaturvariablen aus.

Dort haben wir eine andere Funktion „SelectionsSort“, die den rekursiven Sortieransatz zur Sortierung der verknüpften Liste verwendet. Wir finden es mit der If-Statement, ob die verknüpfte Liste den Knoten hat. Anschließend definieren wir den Zeigerknoten "min_node" für den minimalen Datenwert und den Knotenzeiger "prev_min", um den vorherigen Datenwert des Knotens zu erhalten. Die For-Loop durchquert alle Knoten der verknüpften Liste und erhöht den minimalen Knoten und den vorherigen Knoten. Als nächstes wenden wir den Zustand an - wenn der min_node und der Kopfknoten unterschiedlich sind, tauschen wir den min_node mit dem Kopfknoten aus. Die verbleibende verknüpfte Liste wird rekursiv sortiert, indem der „Kopf.NEXT_NODE ”in der SelectionSort -Funktion.

Darüber hinaus erstellen wir die Funktion „sortnodes“, die überprüft, ob die angegebene verknüpfte Liste nicht leer sein sollte, und die Liste über die Funktion SelectionSort () sortieren. Anschließend haben wir die nächste Funktion, die "drückt" ist, um der Startposition der verknüpften Liste einen Knoten hinzuzufügen. Wir definieren das "NewNode" -Objekt, um den Knoten zuzuordnen und die Daten in diesen Knoten einzulegen. Danach verknüpfen wir die Kopfreferenz mit dem neuen Knoten und stellen den Kopfverweis auf einen neuen Knoten neu zu. Als nächstes erstellen wir eine "DisplayList" -Funktion.

Wir haben eine Main () -Methode, bei der die verknüpfte Liste mithilfe der Push -Methode initialisiert wird. Die unortheiligen verknüpften Listenelemente werden gedruckt. Anschließend rufen wir die Sortnodes () -Funktion auf. Die sortierte verlinkte Liste wird von der Methode DisplayList () gedruckt, die auch den „Kopf“ als Argument nimmt.

Die ursprüngliche verknüpfte Liste wird angezeigt. Danach ist die sortierte verlinkte Liste im Folgenden gedruckt:

Abschluss

Die Auswahlsortierung gibt im Wesentlichen an, wo ein Element von den anderen Elementen beginnt. Die Auswahlsart in Java wird angewendet, wenn die kleinen Listen sortiert werden müssen. Es wirkt sich auch auf die Schreibrate des Speichers aus, insbesondere den Flash -Speicher. Das Kernkonzept der Verwendung der Auswahlsart in Java besteht darin, ein Array in die sortierten und ungeortierten Abschnitte aufzuteilen und dann das Array mit Vergleiche zu sortieren. Die Auswahlsortierbeispiele werden mit dem Standard und dem anderen Fall demonstriert.