Heim >Backend-Entwicklung >C#.Net-Tutorial >So verwenden Sie die qsort-Funktion

So verwenden Sie die qsort-Funktion

DDD
DDDOriginal
2023-12-07 13:52:39842Durchsuche

Die qsort-Funktion ist eine Bibliotheksfunktion in der C-Sprache, die zum Sortieren von Arrays verwendet wird. Obwohl die qsort-Funktion sehr allgemein ist und jede Art von Array verarbeiten kann, kann die Vergleichsfunktion komplex werden, insbesondere wenn es um komplexe Datenstrukturen geht.

So verwenden Sie die qsort-Funktion

Die qsort-Funktion ist eine Bibliotheksfunktion in C-Sprache, die zum Sortieren von Arrays verwendet wird. Es ist in der Header-Datei 8e359799bdf1a571032ba13cc96acda9 definiert. Der Prototyp der qsort-Funktion ist:

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*));

Hier ist die Parameterbeschreibung der qsort-Funktion:

  1. base: Ein Zeiger auf das erste Objekt des Arrays, das sortiert werden soll.

  2. nitems: Die Anzahl der Elemente im Array.

  3. Größe: Die Größe jedes Elements, normalerweise mithilfe des Operators „sizeof“ ermittelt.

  4. compar: Eine Vergleichsfunktion zur Bestimmung der Reihenfolge zweier Elemente. Diese Funktion sollte zwei Zeiger akzeptieren, die auf die zu vergleichenden Elemente zeigen, und eine negative Zahl zurückgeben, wenn das erste Element kleiner als das zweite ist, 0, wenn sie gleich sind, und eine positive Zahl, wenn das erste Element größer als das zweite ist.

Hier ist ein Beispiel für die Verwendung der qsort-Funktion, die ein Array von Ganzzahlen sortiert:

#include <stdio.h>  
#include <stdlib.h>  
  
// 比较函数,用于决定排序  
int compare(const void *a, const void *b) {  
    int int_a = *((int*) a);  
    int int_b = *((int*) b);  
  
    if (int_a == int_b) return 0;  
    else if (int_a < int_b) return -1;  
    else return 1;  
}  
  
int main() {  
    int i;  
    int numbers[] = {7, 3, 4, 1, -1, 23, 12, 43, -8, 5};  
    int size = sizeof(numbers) / sizeof(int);  
  
    // 对数组进行排序  
    qsort(numbers, size, sizeof(int), compare);  
  
    // 输出排序后的数组  
    for(i = 0; i < size; i++) {  
        printf("%d ", numbers[i]);  
    }  
  
    return 0;  
}

Hinweis: Obwohl die qsort-Funktion sehr vielseitig ist und jede Art von Array verarbeiten kann, können ihre Vergleichsfunktionen komplex werden, insbesondere wenn Sie haben es mit komplexen Datenstrukturen zu tun. Stellen Sie beim Schreiben einer Vergleichsfunktion sicher, dass sie wie erwartet funktioniert.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die qsort-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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

In Verbindung stehende Artikel

Mehr sehen