网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c总复习剖析

(2)排序 冒泡法: for(i=0;in-1;i++) /*从小到大排序*/ for(j=0;jn-1-i;j++) if(a[j]a[j+1]) {temp=a[j];a[j]=a[j+1];a[j+1]=temp;} 选择法: for(i=0;in-1;i++) {k=i; for(j=i;jn;j++) if(a[k]a[j])k=j; if(i!=k){w=a[i];a[i]=a[k];a[k]=w;} } (3)插入、删除 注意数组不同移动方向情况下循环控制变量的变化情况 插入: for(k=0;k9;k++) if (xa[k]) break; // 找到插入的位置下标为k for(i=8;i=k;i--) a[i + 1] = a[i]; //从最后元素开始、往后移 a[k] = x; //插入 删除: for(i=0;i10;i++) if(key==a[i])break; for(j=i;j10;j++) //从待删位置开始、向前移 a[j]=a[j+1]; (4)二分法查找 在由小到大排列的N个元素组成的数组中查找x,主要实现部分如下: ...... bot=0;top=N; mid=(bot+top)/2; while(bot=topa[mid]!=x) {if(xa[mid]) bot=mid+1; else top=mid-1; mid=(bot+top)/2; } if( bottop ) coutnot found.\n; else couta[mid]=a[mid]endl; ...... 5. 字符串处理 (1) 求长度 long len(char s[]) {long i=0; while(s[i]!=\0)i++; return i; } 上述函数相当于库函数strlen 的功能 (2) 复制 完全复制: void copy_string(char *from,char *to)//两参数也可以为 字符数组名 {while(*from!=\0) *to++=*from++; *to=\0; } 上述函数相当于库函数strcpy的功能 复制前n个字符组成的子串 for(k=0;kn;k++) to[k]=from[k]; to[k]=‘\0’; 复制从第n个字符开始的子串 for(k=0,j=n;from[j]!=‘\0’;k++,j++) to[k]=from[j]; to[k]=‘\0’; (4)连接 假设有定义:char s1[80],s2[20]; …… int i=0; while(s1[i]!=‘\0’) i++; //找到第一个串的末尾 int j=0; while(s2[j]=‘\0’ ) { s1[i]=s2[j]; i++; j++;} s1[i]=‘\0’; 以上程序相当于库函数strcat的功能 (5)比较字符串 int cmp(char s1[],char s2[]) {int i=0,r; while(s1[i]= =s2[i]s1[i]!=\0)i++; if(s1[i]= =\0s2[i]= =\0) r=0; else if(s1[i]s2[i]) r=1; else r= -1; return (r); } 上述函数相当于库函数strcmp的功能 (6)字符转换 大写转小写: void change(char s[]) {int k=0; while(s[k]!=‘\0’) { if(s[k]=‘A’s[k]=‘Z’) s[k]=s[k]+32;//小写字母比相应大写字母大32 k++; }}该函数的功能相当于库函数strlwr的功能 小写转大写、加密(程序略) (7)查找 查找字符串s中与字符c匹配的字符并返回其在串中的地址. char *match(s,c) char s[],c; {int i=0; while(c!=s[i]s[i]!=\0)i++; if(s[i]!=\0) return(s[i]); else return(NULL); } (8) 字符串中字符出现频率的统计 …… int i

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档