So verwenden Sie die Funktion „stable_sort()“ in C++

So Verwenden Sie Die Funktion Stable Sort In C



In C++ gibt es verschiedene Funktionen, um die Elemente der Sequenz in einer bestimmten Reihenfolge zu sortieren. Ähnlich wie die Sortierfunktion wird „stable_sort“ verwendet, um die Elemente im Bereich (erstes, letztes) zu sortieren. Der Hauptunterschied zwischen ihnen besteht darin, dass die stabile_sort Behält die relative Reihenfolge der Elemente mit gleichen Werten bei.

In diesem detaillierten Tutorial zeigen wir die Funktionsweise des stabile_sort() in C++.

So verwenden Sie die Funktion „stable_sort()“ in C++

In C++ ist die stabile_sort() ist ein Standardbibliotheksalgorithmus, der die Elemente in aufsteigender Reihenfolge anordnet und die gleiche Reihenfolge für die äquivalenten Elemente beibehält. Das heißt, wenn zwei Elemente gleich sind, erscheint das Element, das vor dem Sortieren zuerst im Container erscheint, immer noch zuerst in der sortierten Liste. Diese Funktion funktioniert, indem sie den Container (Arrays, Vektoren, verknüpfte Listen) wiederholt unterteilt, sie separat sortiert und sie dann zusammenführt, um den sortierten Container zu erhalten. Es fällt unter die Header-Datei.







Die allgemeine Syntax für die Verwendung von stabile_sort() in C++ ist:



stabile_sort ( RandomAccessIterator zuerst , RandomAccessIterator zuletzt ) ;

Hier das Erste ist der Iterator, der auf das erste Element im zu sortierenden Bereich zeigt, und der zuletzt ist der Iterator, der auf das Element nach dem letzten Element im zu sortierenden Bereich zeigt.



Der stabile_sort() Die Funktion verwendet eine nicht absteigende Reihenfolge, um die Einträge im Bereich [erstes, letztes] zu sortieren, d. h. vom kleinsten zum größten Element. Die Funktion vergleicht standardmäßig die Elemente über die Kleiner-als-Operator (<).





Beispiel 1

Betrachten Sie den folgenden Beispielcode. In diesem Code haben wir den erstellt Vektorliste und es mit einigen Werten initialisiert. Als nächstes verwendeten wir die stabile_sort() um die Werte des angegebenen Vektors in aufsteigender Reihenfolge zu sortieren. Die unsortierten und sortierten Vektoren werden mithilfe der bereichsbasierten Schleife auf der Konsole gedruckt.

#include

#include

#include

Verwenden des Namensraums std ;



int hauptsächlich ( )

{

Vektor < int > Liste = { 5 , 2 , 25 , 4 , 9 , 33 , 38 , 26 } ;

cout << „Zahlen vor dem Sortieren:“ ;

für jede ( Liste. Start ( ) , Liste. Ende ( ) , [ ] ( int X ) {

cout << X << ' ' ;

} ) ;

stabile_sort ( Liste. Start ( ) , Liste. Ende ( ) ) ;

cout << ' \N Zahlen nach Sortierung: „ ;

für jede ( Liste. Start ( ) , Liste. Ende ( ) , [ ] ( int X ) {

cout << X << ' ' ;

} ) ;



zurückkehren 0 ;

}




Beispiel 2

Im unten angegebenen Beispiel haben wir ein Integer-Array erstellt und es mit einigen Werten initialisiert. Dann ist standardmäßig die stabile_sort() sortiert die Elemente in aufsteigender Reihenfolge:

#include

#include

Verwenden des Namensraums std ;

int hauptsächlich ( )

{

int Array [ ] = { 12 , 7 , 7 , 1 , 8 , 7 , 3 , 4 , 22 , 0 } ;

int N = Größe von ( Array ) / Größe von ( Array [ 0 ] ) ;

cout << „Das ursprüngliche Array ist: \N ' ;

für ( int ich = 0 ; ich < N ; ++ ich ) {

cout << Array [ ich ] << ' ' ;

}

stabile_sort ( Array , Array + N ) ;

cout << ' \N Array nach der Sortierung ist: \N ' ;

für ( int ich = 0 ; ich < N ; ++ ich ) {

cout << Array [ ich ] << ' ' ;

}

zurückkehren 0 ;

}

Beispiel 3

Der stabile_sort übernimmt den dritten Parameter, um die Reihenfolge für die Sortierung des Elements anzugeben. Im folgenden Beispiel haben wir verwendet größer() Funktion mit stabile_sort() um die Elemente des Arrays in absteigender Reihenfolge zu sortieren

#include

#include

Verwenden des Namensraums std ;

int hauptsächlich ( )

{

int Array [ ] = { 12 , 7 , 7 , 1 , 8 , 7 , 3 , 4 , 22 , 0 } ;

int N = Größe von ( Array ) / Größe von ( Array [ 0 ] ) ;

cout << „Ursprüngliches Array: \N ' ;

für ( int ich = 0 ; ich < N ; ++ ich ) {

cout << Array [ ich ] << ' ' ;

}

stabile_sort ( Array , Array + N , größer < int > ( ) ) ;

cout << ' \N Array nach der Sortierung: \N ' ;

für ( int ich = 0 ; ich < N ; ++ ich ) {

cout << Array [ ich ] << ' ' ;

}

zurückkehren 0 ;

}

Endeffekt

Der stabile_sort() Die Funktion in C++ ist ein Standardbibliotheksalgorithmus, der zum Sortieren von Elementen in einem Container in nicht absteigender Reihenfolge verwendet wird und gleichzeitig die relative Reihenfolge der Elemente in einem Container mit denselben Werten beibehält. Es kann mit verschiedenen Containern wie Arrays, Vektoren und verknüpften Listen verwendet werden. Darüber hinaus ist ein dritter Parameter erforderlich, um die Reihenfolge für die Sortierung der Elemente anzugeben.