Inhaltsverzeichnis
使用冒泡排序技术按降序对数组进行排序
算法
Example
输出
使用选择排序技术将数组按降序排序
结论
Heim Backend-Entwicklung C++ C++-Programm: Array-Elemente in absteigender Reihenfolge sortieren

C++-Programm: Array-Elemente in absteigender Reihenfolge sortieren

Sep 09, 2023 pm 07:09 PM
数组 排序 降序

C++-Programm: Array-Elemente in absteigender Reihenfolge sortieren

在解决一些问题时,以适当的形式排列数据项是一项重要的任务。

efficient way. The element sorting problem is one of the most commonly discussed 排列问题。在本文中,我们将看到如何排列数组元素 按照它们的值降序排列(在C++中)。

在这个领域中有许多不同的排序算法用于对数字或非数字进行排序

按给定顺序的元素。在本文中,我们将只介绍两种简单的方法 sorting. The bubble sort and the selection sort. Let us see them one by one with proper 算法和C++实现代码。

使用冒泡排序技术按降序对数组进行排序

冒泡排序技术是一种最常见且较简单的排序方法。

数组中的元素。此方法检查两个相邻的元素,如果它们是正确的 order, then skip to the next elements, otherwise interchange them to place them in correct 将其它元素顺序排列,然后跳过到下一个元素,否则交换它们以将其放置在正确位置 order. Then move towards right and do the same for the other pair of values. The bubble 按顺序排列。然后向右移动,并对另一对值执行相同操作。气泡 排序技术有几个阶段,在每个阶段结束时,一个元素被放置在 正确的预期位置。让我们来看一下冒泡排序技术的算法。

算法

  • 读取数组A及其大小n作为输入
  • 对于i从0到n-1的范围,执行
    • 对于 j 从 0 到 n - 2 的范围,执行
      • 如果 A[j]
      • 交换 A[j] 和 A[j + 1]
  • 结束如果
  • end for
  • end for
  • Example

    #include <iostream>
    using namespace std;
    void display( int arr[], int n ){
       for ( int i = 0; i < n; i++ ) {
          cout << arr[i] << ", ";
       }
    }
    void swap ( int &a, int &b ){
       int temp = a;
       a = b;
       b = temp;
    }
    void solve( int arr[], int n ){
       int i, j;
       for ( i = 0; i < n; i++ ) {
          for ( j = 0; j < n-1; j++ ) {
             if ( arr[j] < arr[ j+1 ] ) {
                swap( arr[j], arr[ j + 1 ] );
             }
          }
       }
    }
    int main(){
       int arr[] = {8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84};
       int n = sizeof( arr ) / sizeof( arr[0] );
       cout << "Array before sorting: ";
       display(arr, n);
       solve( arr, n );
       cout << "\nArray After sorting: ";
       display(arr, n);
    }
    
    Nach dem Login kopieren

    输出

    Array before sorting: 8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84, 
    Array After sorting: 96, 95, 89, 84, 78, 74, 63, 58, 45, 44, 36, 25, 12, 12, 10, 8, 5, 2, 
    
    Nach dem Login kopieren

    使用选择排序技术将数组按降序排序

    在选择排序技术中,我们找到最小元素或最大元素 从给定数组中的索引i开始,翻译为中文:element from the given array starting from index i to the end of this array. Assume we are. 找到最大元素。在每个阶段中,它从索引i到末尾找到最小值,然后 将元素放置在其所需的位置,然后再次搜索下一个最大元素 the index i + 1 and so on. After completing these phases, the entire array will be sorted 索引 i + 1 等等。完成这些阶段后,整个数组将被排序 相应地。

    算法

    • 读取数组A及其大小n作为输入
    • 对于i从0到n-1的范围,执行
      • ind := 从 i 到 n 中 A 的最大元素的索引
      • 如果 A[ i ] < A[ ind ],那么
        • 交换 A[ i ] 和 A[ ind ]
      • 结束如果
    • end for

    Example

    #include <iostream>
    using namespace std;
    void display( int arr[], int n ){
       for ( int i = 0; i < n; i++ ) {
          cout << arr[i] << ", ";
       }
    }
    void swap ( int &a, int &b ){
       int temp = a;
       a = b;
       b = temp;
    }
    int max_index( int arr[], int n, int s, int e ){
       int max = 0, max_ind = 0;
       for ( int i = s; i < e; i++ ) {
          if ( arr[i] > max ) {
             max = arr[i];
             max_ind = i;
          }
       }
       return max_ind;
    }
    void solve( int arr[], int n ){
       int i, j, ind;
       for ( i = 0; i < n; i++ ) {
          ind = max_index( arr, n, i, n );
          if ( arr[i] < arr[ ind ] ) {
             swap( arr[i], arr[ ind ] );
          }
       }
    }
    int main(){
       int arr[] = {8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12,89, 95, 63, 84};
       int n = sizeof( arr ) / sizeof( arr[0] );
       cout << "Array before sorting: ";
       display(arr, n);
       solve( arr, n );
       cout << "\nArray After sorting: ";
       display(arr, n);
    }
    
    Nach dem Login kopieren

    输出

    Array before sorting: 8, 45, 74, 12, 10, 36, 58, 96, 5, 2, 78, 44, 25, 12, 89, 95, 63, 84, 
    Array After sorting: 96, 95, 89, 84, 78, 74, 63, 58, 45, 44, 36, 25, 12, 12, 10, 8, 5, 2,
    
    Nach dem Login kopieren

    结论

    排序问题是一个基本问题,我们在其中排列数字或其他值

    在给定的排列逻辑中。在这里有许多不同的排序技术可用 理解和实现 实现和易于理解。这两种方法是冒泡排序技术和 选择排序技术。使用这两种方法,我们已经对数据集进行了排序 降序(非递增)排序。这两种排序方法在效率上并不高 尊重时间,但它们很容易理解。这两种方法都需要O(n2)的时间 时间量,其中n是输入的大小。通过简单的方式,冒泡排序可以变得更快 检查是否在任何阶段都没有交换时,下一个连续阶段不会发生 改变任何事物。

    Das obige ist der detaillierte Inhalt vonC++-Programm: Array-Elemente in absteigender Reihenfolge sortieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    Video Face Swap

    Video Face Swap

    Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Heiße Themen

    Java-Tutorial
    1659
    14
    PHP-Tutorial
    1258
    29
    C#-Tutorial
    1232
    24
    Wie entferne ich doppelte Elemente mithilfe einer foreach-Schleife aus einem PHP-Array? Wie entferne ich doppelte Elemente mithilfe einer foreach-Schleife aus einem PHP-Array? Apr 27, 2024 am 11:33 AM

    Die Methode zur Verwendung einer foreach-Schleife zum Entfernen doppelter Elemente aus einem PHP-Array ist wie folgt: Durchlaufen Sie das Array und löschen Sie es, wenn das Element bereits vorhanden ist und die aktuelle Position nicht das erste Vorkommen ist. Wenn beispielsweise in den Datenbankabfrageergebnissen doppelte Datensätze vorhanden sind, können Sie diese Methode verwenden, um diese zu entfernen und Ergebnisse ohne doppelte Datensätze zu erhalten.

    Die Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen Die Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen May 01, 2024 pm 12:30 PM

    Zu den Methoden zum tiefen Kopieren von Arrays in PHP gehören: JSON-Kodierung und -Dekodierung mit json_decode und json_encode. Verwenden Sie array_map und clone, um tiefe Kopien von Schlüsseln und Werten zu erstellen. Verwenden Sie Serialize und Deserialize für die Serialisierung und Deserialisierung.

    PHP-Array-Schlüsselwertumdrehen: Vergleichende Leistungsanalyse verschiedener Methoden PHP-Array-Schlüsselwertumdrehen: Vergleichende Leistungsanalyse verschiedener Methoden May 03, 2024 pm 09:03 PM

    Der Leistungsvergleich der PHP-Methoden zum Umdrehen von Array-Schlüsselwerten zeigt, dass die Funktion array_flip() in großen Arrays (mehr als 1 Million Elemente) eine bessere Leistung als die for-Schleife erbringt und weniger Zeit benötigt. Die for-Schleifenmethode zum manuellen Umdrehen von Schlüsselwerten dauert relativ lange.

    Praxis der mehrdimensionalen Sortierung von PHP-Arrays: von einfachen bis hin zu komplexen Szenarien Praxis der mehrdimensionalen Sortierung von PHP-Arrays: von einfachen bis hin zu komplexen Szenarien Apr 29, 2024 pm 09:12 PM

    Die mehrdimensionale Array-Sortierung kann in Einzelspaltensortierung und verschachtelte Sortierung unterteilt werden. Bei der Einzelspaltensortierung kann die Funktion array_multisort() zum Sortieren nach Spalten verwendet werden. Bei der verschachtelten Sortierung ist eine rekursive Funktion erforderlich, um das Array zu durchlaufen und zu sortieren. Zu den praktischen Beispielen gehören die Sortierung nach Produktname und die Sortierung von Verbindungen nach Verkaufsmenge und Preis.

    Anwendung der PHP-Array-Gruppierungsfunktion bei der Datensortierung Anwendung der PHP-Array-Gruppierungsfunktion bei der Datensortierung May 04, 2024 pm 01:03 PM

    Die PHP-Funktion array_group_by kann Elemente in einem Array basierend auf Schlüsseln oder Abschlussfunktionen gruppieren und ein assoziatives Array zurückgeben, wobei der Schlüssel der Gruppenname und der Wert ein Array von Elementen ist, die zur Gruppe gehören.

    Best Practices für Deep Copying von PHP-Arrays: Entdecken Sie effiziente Methoden Best Practices für Deep Copying von PHP-Arrays: Entdecken Sie effiziente Methoden Apr 30, 2024 pm 03:42 PM

    Die beste Vorgehensweise zum Durchführen einer Array-Deep-Kopie in PHP besteht darin, json_decode(json_encode($arr)) zu verwenden, um das Array in einen JSON-String zu konvertieren und ihn dann wieder in ein Array umzuwandeln. Verwenden Sie unserialize(serialize($arr)), um das Array in eine Zeichenfolge zu serialisieren und es dann in ein neues Array zu deserialisieren. Verwenden Sie den RecursiveIteratorIterator, um mehrdimensionale Arrays rekursiv zu durchlaufen.

    Die Rolle der PHP-Array-Gruppierungsfunktion beim Auffinden doppelter Elemente Die Rolle der PHP-Array-Gruppierungsfunktion beim Auffinden doppelter Elemente May 05, 2024 am 09:21 AM

    Mit der Funktion array_group() von PHP kann ein Array nach einem angegebenen Schlüssel gruppiert werden, um doppelte Elemente zu finden. Diese Funktion durchläuft die folgenden Schritte: Verwenden Sie key_callback, um den Gruppierungsschlüssel anzugeben. Verwenden Sie optional value_callback, um Gruppierungswerte zu bestimmen. Zählen Sie gruppierte Elemente und identifizieren Sie Duplikate. Daher ist die Funktion array_group() sehr nützlich, um doppelte Elemente zu finden und zu verarbeiten.

    Erkundung der Komplexität von PHP-Array-Deduplizierungsalgorithmen Erkundung der Komplexität von PHP-Array-Deduplizierungsalgorithmen Apr 28, 2024 pm 05:54 PM

    Komplexität des PHP-Array-Deduplizierungsalgorithmus: array_unique(): O(n) array_flip()+array_keys(): O(n) foreach-Schleife: O(n^2)

    See all articles