c語言中可以通過呼叫qsort排序函式,來實現對於一組資料進行排序,之前沒有用過,所以總結一下qsort的簡單使用
qsort函式包含於標頭檔案當中
void
qsort
(void
*ptr, size_t count, size_t size,
(int
*comp)
(const
void*,
const
void*)
);
(1)ptr為指向待排序資料的指標
(2)count為待排序資料的數量(個數)
(3)size為待排序的單個資料的資料大小
(4)comp為比較函式,通過傳入要比較的兩個元素進行比較,函式中自定義比較規則最後確立排序之後元素的排列次序
兩個引數(設為a, b)的比較結果有三種可能::
a > b 返回正整數值
a == b 返回0
a < b 返回負整數值
思考:執行比較操作,實際上執行了cmp指令,兩個運算元顛倒順序進行相減得到乙個比較後的邏輯值
s1 > s2 ⇒ cmp s1, s2 (s2 - s1)
1、對整型陣列進行排序
#include
int arr[n]
;int
comp_int
(const
void
*a,const
void
*b)qsort
(arr, n,
sizeof
(int
), comp_int)
;
2、對一組字串按字典序進行排序
#include
char str[n][21
];intcomp_string
(const
void
*a,const
void
*b)qsort
(str, n,
21, comp_string)
;
1、比較函式中傳遞的引數,必須保證執行比較函式前後一致,所以傳遞的是const指標
2、比較函式引數為const void *,要進行元素進行的比較,需要轉換成對應型別的指標或者值
mysql的簡單用法 mysql簡單用法
刪除使用者 drop user jack drop比delete刪除的優勢在於drop可以刪除使用者的許可權,更加徹底 更改使用者名稱 rename user jack to jacknew 使用者的都存在與user表中,更改名稱,許可權不變 更改使用者密碼 update mysql.user se...
sudo的簡單用法
sudo 的簡單用法 sudo 是linux 下一種能讓普通使用者執行 root 使用者或者其他使用者的命令 在 linux 中為了能方便的作業系統,同事也為了減輕管理員的負擔,這裡就有了 sudo 這個工具,讓普通使用者能執行 root 使用者的一部分權利。在 linux unix 下專門為 su...
XPath的簡單用法
xpath 使用路徑表示式來選取 xml 文件中的節點或節點集。下面使用乙個簡單的xml檔案內容 定位到節點名稱為parent1的元素 xpath為 tree parent1 其中前面加 表示根元素,此時的xpath就是絕對路徑了,在這裡的例子中,因為tree為根元素,所以這裡的xpath也可以表示...