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/