在 GNU C 库 (glibc) 中,除了 bsearch
和 qsort
之外,还有其他一些提供常见算法功能的函数。以下是一些类似的函数:
heapsort
- 简介: 执行堆排序算法。
- 手册页:
man heapsort
mergesort
- 简介: 执行归并排序算法。
- 手册页:
man mergesort
tsearch
,tfind
,tdelete
,twalk
- 简介: 提供二叉树搜索、插入、删除和遍历功能。
- 手册页:
man tsearch
lsearch
,lfind
- 简介: 提供线性搜索功能。
- 手册页:
man lsearch
hsearch
,hcreate
,hdestroy
- 简介: 提供哈希表的创建、查找和销毁功能。
- 手册页:
man hsearch
strfry
- 简介: 打乱字符串的字符顺序。
- 手册页:
man strfry
psort
- 简介: 用于排序的并行版本。
- 手册页: 通常没有独立的
man
页,可能需要参考相关文档或源码。
radixsort
,sradixsort
- 简介: 执行基数排序算法。
- 手册页:
man radixsort
alphasort
- 简介: 用于比较
struct dirent
类型数组中的元素,通常与scandir
函数一起使用。 - 手册页:
man alphasort
scandir
- 简介: 用于扫描目录内容并将结果存储在数组中。
- 手册页:
man scandir
versionsort
- 简介: 对
struct dirent
类型数组中的元素进行版本号排序。 - 手册页:
man versionsort
fsearch
- 简介: 用于文件中的字符串查找。
- 手册页: 通常没有独立的
man
页,可能需要参考相关文档或源码。
getopt
,getopt_long
,getopt_long_only
- 简介: 用于命令行参数解析。
- 手册页:
man getopt
qsort_r
- 简介: qsort 的可重入版本,允许传递上下文数据。
- 手册页:
man qsort_r
drand48
,erand48
,lrand48
,mrand48
,srand48
,seed48
- 简介: 一组用于生成伪随机数的函数。
- 手册页:
man drand48
rand
,srand
- 简介: 标准库中的随机数生成器。
- 手册页:
man rand
nftw
- 简介: 用于遍历目录树的函数,类似于
ftw
,但更灵活。 - 手册页:
man nftw
ftw
- 简介: 用于遍历目录树的函数。
- 手册页:
man ftw
glob
,globfree
- 简介: 执行文件名模式匹配。
- 手册页:
man glob
fnmatch
- 简介: 测试字符串是否匹配模式。
- 手册页:
man fnmatch
argp_parse
- 简介: 用于处理命令行参数的高级解析功能。
- 手册页:
man argp_parse
crypt
- 简介: 单向密码加密函数,通常用于密码验证。
- 手册页:
man crypt
strtok
,strtok_r
- 简介: 用于字符串分割,
strtok_r
是线程安全版本。 - 手册页:
man strtok
shm_open
,shm_unlink
- 简介: 用于创建和删除 POSIX 共享内存对象。
- 手册页:
man shm_open
mmap
,munmap
- 简介: 用于内存映射文件或设备到内存地址空间。
- 手册页:
man mmap
sem_open
,sem_close
,sem_unlink
,sem_post
,sem_wait
- 简介: POSIX 信号量操作函数。
- 手册页:
man sem_open
pthread_create
,pthread_join
,pthread_mutex_lock
,pthread_mutex_unlock
,pthread_cond_wait
,pthread_cond_signal
- 简介: POSIX 线程库函数,用于创建和管理线程及其同步机制。
- 手册页:
man pthread_create
posix_fadvise
,posix_madvise
- 简介: 提供文件访问或内存访问的建议,以优化性能。
- 手册页:
man posix_fadvise
setjmp
,longjmp
- 简介: 用于非本地跳转,通常用于错误处理和信号处理。
- 手册页:
man setjmp
signal
,sigaction
- 简介: 信号处理函数。
- 手册页:
man signal
time
,gettimeofday
,clock_gettime
,difftime
- 简介: 时间获取和操作函数。
- 手册页:
man time
strftime
,strptime
- 简介: 时间格式化和解析函数。
- 手册页:
man strftime
realpath
- 简介: 解析文件的绝对路径。
- 手册页:
man realpath
getopt_long
- 简介: 解析长选项的命令行参数。
- 手册页:
man getopt_long
qsort_r
- 简介: qsort 的可重入版本,允许传递上下文数据。
- 手册页:
man qsort_r
mblen
,mbtowc
,wctomb
,mbstowcs
,wcstombs
- 简介: 宽字符和多字节字符转换函数。
- 手册页:
man mblen
iconv
,iconv_open
,iconv_close
- 简介: 字符编码转换函数。
- 手册页:
man iconv
setlocale
,localeconv
,nl_langinfo
- 简介: 设置和查询程序的区域设置信息。
- 手册页:
man setlocale
strcasecmp
,strncasecmp
- 简介: 不区分大小写的字符串比较函数。
- 手册页:
man strcasecmp
strdup
,strndup
- 简介: 复制字符串,并返回指向新字符串的指针。
- 手册页:
man strdup
realpath
- 简介: 解析并返回文件的绝对路径。
- 手册页:
man realpath
basename
,dirname
- 简介: 提取路径中的文件名或目录名。
- 手册页:
man basename
mkstemp
,mkdtemp
- 简介: 创建临时文件或目录。
- 手册页:
man mkstemp
getaddrinfo
,freeaddrinfo
,gai_strerror
- 简介: 网络地址和主机名解析。
- 手册页:
man getaddrinfo
inet_pton
,inet_ntop
- 简介: 点分十进制和网络字节序之间的转换。
- 手册页:
man inet_pton
getopt
,getopt_long
,getopt_long_only
- 简介: 命令行参数解析函数。
- 手册页:
man getopt
execve
,execvp
,execvpe
- 简介: 执行新程序。
- 手册页:
man execve
wait
,waitpid
- 简介: 等待子进程终止。
- 手册页:
man wait
pipe
,popen
,pclose
- 简介: 管道创建和管理函数。
- 手册页:
man pipe
sigsetjmp
,siglongjmp
- 简介: 带信号屏蔽的非本地跳转。
- 手册页:
man sigsetjmp
pselect
,select
- 简介: 监控文件描述符集合。
- 手册页:
man select
poll
- 简介: 监控多个文件描述符。
- 手册页:
man poll
epoll_create
,epoll_ctl
,epoll_wait
- 简介: 高效的 I/O 事件通知。
- 手册页:
man epoll
timer_create
,timer_settime
,timer_gettime
,timer_delete
- 简介: POSIX 定时器函数,用于创建和管理定时器。
- 手册页:
man timer_create
clock_getres
,clock_nanosleep
,clock_settime
- 简介: 时钟和时间相关的函数,用于获取和设置时间。
- 手册页:
man clock_getres
sleep
,usleep
,nanosleep
- 简介: 线程休眠函数,用于延迟一段时间。
- 手册页:
man sleep
aio_read
,aio_write
,aio_error
,aio_return
,aio_suspend
- 简介: 异步 I/O 操作函数。
- 手册页:
man aio_read
readdir
,opendir
,closedir
,rewinddir
- 简介: 目录流操作函数,用于读取和管理目录内容。
- 手册页:
man readdir
fseek
,ftell
,rewind
- 简介: 文件指针操作函数,用于定位文件指针的位置。
- 手册页:
man fseek
fopen
,freopen
,fclose
- 简介: 文件流操作函数,用于打开、重定向和关闭文件。
- 手册页:
man fopen
fread
,fwrite
- 简介: 文件读写操作函数,用于读取和写入文件数据。
- 手册页:
man fread
fflush
- 简介: 刷新文件流缓冲区。
- 手册页:
man fflush
fprintf
,fscanf
- 简介: 格式化文件输入输出函数。
- 手册页:
man fprintf
snprintf
,vsnprintf
- 简介: 安全的格式化输出函数,用于避免缓冲区溢出。
- 手册页:
man snprintf
asprintf
,vasprintf
- 简介: 动态分配内存并格式化输出到字符串中。
- 手册页:
man asprintf
sscanf
,vsscanf
- 简介: 从字符串中读取格式化输入。
- 手册页:
man sscanf
getcwd
,chdir
- 简介: 获取和改变当前工作目录。
- 手册页:
man getcwd
mkdir
,rmdir
- 简介: 创建和删除目录。
- 手册页:
man mkdir
chmod
,fchmod
,chown
,fchown
- 简介: 更改文件的权限和所有者。
- 手册页:
man chmod
stat
,fstat
,lstat
- 简介: 获取文件状态信息。
- 手册页:
man stat
link
,symlink
,readlink
,unlink
- 简介: 创建和删除硬链接与符号链接。
- 手册页:
man link
dup
,dup2
- 简介: 复制文件描述符。
- 手册页:
man dup
fcntl
- 简介: 文件控制操作函数,用于操作文件描述符。
- 手册页:
man fcntl
ioctl
- 简介: 设备控制操作函数,用于控制设备文件。
- 手册页:
man ioctl
mprotect
- 简介: 更改内存保护属性。
- 手册页:
man mprotect