C函数笔记简概

memset

void *memset(void *s, int ch, size_t n);
<memory.h><string.h>

主要作用,对较大的结构组或数组清零或赋初值(0); 原文拓展


rand

void srand(unsigned seed);
int rand(void);
<stdlib.h>

time(NULL) 的结果是一个类似于 1524655706 的数字,并且每秒都在递增 1,也就达成了 srand() 的 seed
不断变化的目的,不断生成新的随机数。
<time.h>

主要作用:
srand+time(0)提供随机种子
rand生成随机数
因为,对于任意数,0<=rand()%(n-m+1)<=n-m
因此,0+m<=rand()%(n-m+1)+m<=n-m+m
因此,如要产生[m,n]范围内的随机数num,
可用:int num=rand()%(n-m+1)+m;原文拓展


qsort

void qsort(void* base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*)); 
<stdlib.h>

根据二分法写的,其时间复杂度为n*log(n))
功能: 使用快速排序例程进行排序.

各参数:
base : 待排序数组首地址,通常该位置传入的是一个数组名
num: 该数组的元素个数
width: 该数组中每个元素的大小(字节数)
(*compare)(const void *, const void *) : 此为指向比较函数的函数指针,决定了排序的顺序。正序或倒序。
//C语言
//compare的创建

 int compare(const void* min,const void* max) {
            return (*(int*)max > *(int*)min);//从大到小
    }
     
//这是一个 int 类型的函数。你需要根据数组的类型来修改这个函数的类型

  !!!!正确编写compare函数是实现qsort主要的环节 !!!!

qsort中几种常见的比较函数cmp:


assert

void assert( int expression );
<assert.h>

assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。原文拓展


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值