zoukankan      html  css  js  c++  java
  • 八、数据结构和算法

    1、crypt

    表头文件  #define _XOPEN_SOURCE

          #include<unistd.h>

    定义函数  char * crypt (const char *key,const char * salt);

    函数说明  crypt()将使用Data Encryption Standard (DES)演算法将参数key所指的字符串加以编码,key 字符串长度仅取前8 个字符,超过此长度的字符没有意义。

    参数salt为两个字符组成的字符串,由a-z、A-Z、0-9,“.”和“/”所组成,用来决定使用4096 种不同内建表格的哪一个。函数执行成功后会返回指向编码过的字符串指针,

    参数key 所指的字符串不会有所更动。编码过的字符串长度为13 个字符,前两个字符为参数salt代表的字符串。

    返回值     返回一个指向以NULL结尾的密码字符串。

    附加说明  使用GCC编译时需加-lcrypt。

    2、bsearch

    表头文件  #include<stdlib.h>

    定义函数  void *bsearch(const void *key,const void *base,size_t nmemb,size_t size,int (*compar) (const void*,const void*));

    函数说明  bsearch()利用二元搜索从排序好的数组中查找数据。参数key指向欲查找的关键数据,参数base指向要被搜索的数组开头地址,参数nmemb 代表数组中的元素数量,

    每一元素的大小则由参数size决定,最后一项参数compar 为一函数指针,这个函数用来判断两个元素之间的大小关系,若传给compar 的第一个参数所指的元素数据大于第二个参数

    所指的元素数据则必须回传大于0 的值,两个元素数据相等则回传0。

    附加说明  找到关键数据则返回找到的地址,如果在数组中找不到关键数据则返回NULL。

    3、lfind

    表头文件  #include<stdlib.h>

    定义函数  void *lfind (const void *key,const void *base,size_t *nmemb,size_t size,int(* compar) (const void * ,const void *));

    函数说明  lfind(()利用线性搜索在数组中从头至尾一项项查找数据。参数key指向欲查找的关键数据,参数base指向要被搜索的数组开头地址,参数nmemb 代表数组中的元素数量,

    每一元素的大小则由参数size 决定,最后一项参数compar 为一函数指针,这个函数用来判断两个元素是否相同,若传给compar 的异地个参数所指的元素数据和第二个参数所指的元素数

    据相同时则返回0,两个元素数据不相同则返回非0 值。lfind()与lsearch()不同点在于,当找不到关键数据时lfind()仅会返回NULL,而不会主动把该笔数据加入数组尾端。

    返回值   找到关键数据则返回找到的该笔元素的地址,如果在数组中找不到关键数据则返回空指针(NULL)

    4、lsearch

    表头文件  #include<stdlib.h>

    定义函数  void *lsearch(const void * key ,const void * base ,size_t *nmemb,size_t size, int ( * compar) (const void * ,const void *));

    函数说明  lsearch()利用线性搜索在数组中从头至尾一项项查找数据。参数key指向欲查找的关键数据,参数base指向要被搜索的数组开头地址,参数nmemb 代表数组中的元素数量,

    每一元素的大小则由参数size 决定,最后一项参数compar 为一函数指针,这个函数用来判断两个元素是否相同,若传给compar 的第一个参数所指的元素数据和第二个参数所指的元素数据

    相同时则返回0,两个元素数据不相同则返回非0 值。如果lsearch()找不到关键数据时会主动把该项数据加入数组里。

    返回值      找到关键数据则返回找到的该笔元素的地址,如果在数组中找不到关键数据则将此关键数据加入数组,再把加入数组后的地址返回。

    5、qsort

    表头文件  #include<stdlib.h>

    定义函数  void qsort(void * base,size_t nmemb,size_t size,int ( * compar)(constvoid *, const void *));

    函数说明  参数base 指向欲排序的数组开头地址,参数nmemb 代表数组中的元素数量,每一元素的大小则由参数size 决定,最后一项参数compar 为一函数指针,这个函数用来判断两个元素间的大小关系,

    若传给compar 的第一个参数所指的元素数据大于第二个参数所指的元素数据则必须回传大于零的值,两个元素数据相等则回传0。

    返回值     无

    6、rand

    表头文件  #include<stdlib.h>

    定义函数  int rand(void)

    函数说明  rand()会返回一随机数值,范围在0 至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。

    返回值      返回0 至RAND_MAX 之间的随机数值,RAND_MAX 定义在stdlib.h,其值为2147483647。

    7、srand

    表头文件  #include<stdlib.h>

    定义函数  void srand (unsigned int seed);

    函数说明  srand() 用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

    返回值      无

  • 相关阅读:
    PAT 1097. Deduplication on a Linked List (链表)
    PAT 1096. Consecutive Factors
    PAT 1095. Cars on Campus
    PAT 1094. The Largest Generation (层级遍历)
    PAT 1093. Count PAT's
    PAT 1092. To Buy or Not to Buy
    PAT 1091. Acute Stroke (bfs)
    CSS:word-wrap/overflow/transition
    node-webkit中的requirejs报错问题:path must be a string error in Require.js
    script加载之defer和async
  • 原文地址:https://www.cnblogs.com/Malphite/p/11415566.html
Copyright © 2011-2022 走看看