Cara menggunakan fungsi qsort

DDD
Lepaskan: 2023-12-07 13:52:55
asal
712 orang telah melayarinya

Fungsi qsort ialah fungsi perpustakaan dalam bahasa C yang digunakan untuk mengisih tatasusunan. Walaupun fungsi qsort adalah sangat umum dan boleh mengendalikan sebarang jenis tatasusunan, fungsi perbandingan boleh menjadi kompleks, terutamanya apabila berurusan dengan struktur data yang kompleks.

Cara menggunakan fungsi qsort

Fungsi qsort ialah fungsi perpustakaan dalam bahasa C yang digunakan untuk mengisih tatasusunan. Ia ditakrifkan dalam fail pengepala Prototaip fungsi qsort ialah:

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*));
Salin selepas log masuk

Berikut ialah perihalan parameter bagi fungsi qsort:

  1. asas: Penunjuk kepada objek pertama tatasusunan yang akan diisih.

  2. nitem: Bilangan elemen dalam tatasusunan.

  3. saiz: Saiz setiap elemen, biasanya diperoleh menggunakan operator saiz.

  4. bandingkan: Fungsi perbandingan yang digunakan untuk menentukan susunan dua elemen. Fungsi ini harus menerima dua penunjuk, menunjuk kepada elemen yang hendak dibandingkan, dan mengembalikan nombor negatif jika elemen pertama kurang daripada kedua, 0 jika ia sama, dan nombor positif jika elemen pertama lebih besar daripada kedua.

Berikut ialah contoh penggunaan fungsi qsort, yang menyusun tatasusunan integer:

#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;  
}
Salin selepas log masuk

Nota: Walaupun fungsi qsort sangat serba boleh dan boleh mengendalikan sebarang jenis tatasusunan, fungsi perbandingannya boleh menjadi kompleks, Terutama apabila anda berurusan dengan struktur data yang kompleks. Semasa menulis fungsi perbandingan, pastikan ia berfungsi seperti yang anda jangkakan.

Atas ialah kandungan terperinci Cara menggunakan fungsi qsort. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!