C-05 Control Flow
本文最后更新于:2 年前
二分搜索(bsearch)
C 标准库实现了二分搜索的函数 bsearch
1 |
|
参数
参数名 | 说明 |
---|---|
key | 指向要查找的元素的指针 |
ptr | 指向要检验的数组的指针 |
count | 数组的元素数目 |
size | 数组每个元素的字节数 |
comp | 比较函数,升序返回负数,降序返回正数,相等返回零,函数签名形式 int cmp(const void *a, const void *b) |
返回值
返回值 | 说明 |
---|---|
null pointer | 在给定的数组中没有找到该元素 |
指向与*key 比较相等的指针 | 在给定的数组中找到该元素 |
二分搜索示例
1 |
|
编译后执行结果:
clang main.c -std=c11 -Wall -o main.out && ./main.out
NO 3: Hello
快速排序(qsort)
C 标准库实现了快速排序的函数 qsort
1 |
|
参数
参数名 | 说明 |
---|---|
ptr | 指向待排序的数组的指针 |
count | 数组的元素数目 |
size | 数组每个元素的字节数 |
comp | 比较函数,升序返回负数,降序返回正数,相等返回零,函数签名形式 int cmp(const void *a, const void *b) |
快速排序示例
1 |
|
编译后执行结果:
clang main.c -std=c11 -Wall -o main.out && ./main.out
Unordered: -2 99 2147483647 0 -743 10 2 44 -2147483648 2
Ordered: -2147483648 -743 -2 0 2 2 10 44 99 2147483647
C-05 Control Flow
https://trickyrat.github.io/2020/10/12/C-05 Control Flow/