数据结构及算法

数据结构及算法

ID:34396859

大小:97.52 KB

页数:8页

时间:2019-03-05

数据结构及算法_第1页
数据结构及算法_第2页
数据结构及算法_第3页
数据结构及算法_第4页
数据结构及算法_第5页
资源描述:

《数据结构及算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、crypt(将密码或数据编码)相关函数getpass表头文件#define_XOPEN_SOURCE#include定义函数char*crypt(constchar*key,constchar*salt);函数说明crypt()将使用DataEncryptionStandard(DES)演算法将参数key所指的字符串加以编码,key字符串长度仅取前8个字符,超过此长度的字符没有意义。参数salt为两个字符组成的字符串,由a-z、A-Z、0-9,“.”和“/”所组成,用来决定使用4096种不同内建表格的哪一个。函数执行成功后会返回指向编码过的字符串指针,参数

2、key所指的字符串不会有所更动。编码过的字符串长度为13个字符,前两个字符为参数salt代表的字符串。返回值返回一个指向以NULL结尾的密码字符串。附加说明使用GCC编译时需加-lcrypt。范例#includemain(){charpasswd[13];char*key;charslat[2];key=getpass(“InputFirstPassword:”);slat[0]=key[0];slat[1]=key[1];strcpy(passwd,crypt(keyslat));key=getpass(“InputSecondPassword:”);s

3、lat[0]=passwd[0];slat[1]=passwd[1];printf(“Aftercrypt(),1stpasswd:%s”,passwd);printf(“Aftercrypt(),2ndpasswd:%s”,crypt(keyslat));}执行InputFirstPassword:/*输入test,编码后存于passwd[]*/InputSecondPassword/*输入test,密码相同编码后也会相同*/Aftercrypt()1stPasswd:teH0wLIpW0gyQAftercrypt()2ndPasswd:teH0wLIpW0gyQb

4、search(二元搜索)相关函数qsort表头文件#include定义函数void*bsearch(constvoid*key,constvoid*base,size_tnmemb,size_tsize,int(*compar)(constvoid*,constvoid*));函数说明bsearch()利用二元搜索从排序好的数组中查找数据。参数key指向欲查找的关键数据,参数base指向要被搜索的数组开头地址,参数nmemb代表数组中的元素数量,每一元素的大小则由参数size决定,最后一项参数compar为一函数指针,这个函数用来判断两个元素之间的大小关系

5、,若传给compar的第一个参数所指的元素数据大于第二个参数所指的元素数据则必须回传大于0的值,两个元素数据相等则回传0。附加说明找到关键数据则返回找到的地址,如果在数组中找不到关键数据则返回NULL。范例#include#include#defineNMEMB5#defineSIZE10intcompar(constvoid*a,constvoid*b){return(strcmp((char*)a,(char*)b));}main(){chardata[50][size]={“linux”,”freebsd”,”solaris”,”s

6、unos”,”windows”};charkey[80],*base,*offset;inti,nmemb=NMEMB,size=SIZE;while(1){printf(“>”);fgets(key,sizeof(key),stdin);key[strlen(key)-1]=’’;if(!strcmp(key,”exit”))break;if(!strcmp(key,”list”)){for(i=0;i

7、);offset=(char*)bsearch(key,base,nmemb,size,compar);if(offset==NULL){printf(“%snotfound!”,key);strcpy(data[nmemb++],key);printf(“Add%stodataarray”,key);}else{printf(“found:%s”,offset);}}}执行>hello/*输入hello字符串*/hellonotfound!/*找不到hello字符串*/addhelloto

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。