C語言講義——庫函數排序qsort


qsort函數在在stdlib.h中。
函數原型

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

參數

  • base -- 這就是指針的數組的第一個元素進行排序
  • nitems -- 這是由基部指向的數組中的元素數目
  • size -- 這是在數組中的每個元素的大小(以字節為單位)
  • compar -- 這個函數比較兩個元素
    返回值:不返回任何值
    缺點:對於有多個重復值的數組來說,效率較低不穩定。

#include <stdio.h>
#include <stdlib.h>

// qsort 要結合  compare使用
int compare(const void *value1, const void *value2) {
	// 升序
	return (*(int*)value1 - *(int*)value2);
}

int main(int argc, char *argv[]) {
	int arr[]= {-1,5,6,2,7,9};

	qsort(arr, 6, sizeof(int), compare);
	// 輸出結果
	int i=0;
	for(; i<sizeof(arr)/sizeof(int); i++) {
		printf("%d ", arr[i]);
	}

	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM