第三章 数组与字符串
来源:互联网 发布:矩阵的秩代表什么 编辑:程序博客网 时间:2024/06/06 01:42
1.模拟题:模拟人工操作的过程,如开灯问题,蛇形填数等。依照人工处理的方式,用算法实现之。
2.输入输出的兄弟
scanf,sscanf,fscanf,printf,sprintf,fprintf,可以分别实现标准输入输出,从字符串输入输出,从文件输入输出。
3.与字符串相关的处理函数
strlen,strstr,strchr(返回的是一个指针),strcmp,strcat,strlwr,strupr,memcpy,memset;
fgetc(fin),getchar(),putchar(),fgets(buf,maxn,stdin);
isalpha,isdigit,isalnum,isupper,islower;
4.善于利用数组常量(事先保存一定的常用数据)来简化问题难度
比如统计日数,就可以用数组存储每个月的日数,之后便于计算;还有生成元问题,实现把所有的生成元找出来,之后只要直接输出即可;还有幸运数问题,也可以采用这种打表的方;方向旋转的问题,可以事先开一个常量数组,代替4方向或者8方向的二重循环。所以,在一些问题中,适当地使用常量数组,可以大大节约时间和思考的规模。
5.循环序列(化直为曲)
用一个一维数组来形成一个环状序列,从而达到头尾相接的目的。需要用到的技巧就是,i=(i+1)%maxsize;
6.谓词(判断一个事物是否具有某种特征)
常用于函数的命名,比如:isprime,isdigit,isalpha等等,这样可以使得代码的可读性较高。
7.对于比较大的数组一般开在main函数之外,如果开在里面成为局部变量,很有可能爆栈。
8.fgetc(fin)->fgetc(stdin)==getchar,putchar;fgets(buf,maxn,fin)->gets(buf),因为gets没有指明最大存储量,会造成缓冲区溢出情况,现在C11标准已经去除了gets函数。
9.C++中字符串类常用的处理:
1.构造字符串:
1)string a;
2)string a(s)
3)string a(n,char)
4)string a(s,start,len)
2.返回字符串长度:
1)s.size()
2)s.length()
3)s.empty()
3.字符串赋值
1)s1=s2;
2)s1=char;
3)s1.assign(s2)
4)s1.assign(s2,start,len)
5)s1.assign(n,c)
4.存取元素:
1)s.at(idx)
2)s[idx]
5.插入元素:
1)s1.insert(idx,s2)(注意插入的要是字符串,不能是字符型)
2)s1+=s2或者char
3)s1.append(s2)
4)s1.append(s2,start,len)
5)s1.append(n,c)
6.删除元素:
1)s.erase(idx,[len])
2)s.erase()(删除整个字符串)
3)s.clear()
7.截取子串:
1)s.substr(idx,[len])
2)s.substr()
8.查找:
1)s.find(char,[idx])
2)s.find(s1,[idx])
注:返回的是下标,而不是地址。如果没有找到,那么就返回string::npos
9.串替换:
1)s.replace(idx,len,s1)
10.比较
1)>,>=,<,<=,==,!=
2)s1.compare(s2)
- 第三章 数组与字符串
- 第三章 数组和字符串
- 第三章 数组和字符串
- 第三章 字符串、向量、数组
- 第三章字符串,向量,数组
- 第三章 数组和字符串
- 第三章 字符串 向量 数组
- 第三章:数组与方法
- 第三章 字符串、向量和数组
- 第三章 字符串、向量和数组
- 第三章 字符串、向量和数组
- 第三章 字符串、向量和数组
- 第三章 字符串、向量和数组
- 第三章 数组和字符串(1)
- 第三章 数组和字符串(2)
- 第三章 数组和字符串(上)
- 第三章数组和字符串下
- 第三章:字符串、向量和数组
- Android 入门之Intent应用
- php 简单的注册和登录,带数据库。适合新手学习。
- 解压tar.gz文件报错gzip: stdin: not in gzip format解决方法或者Error is not recoverable: exiting now
- C99的各类头文件
- H5适配逼疯人!这个方案或许能帮到你
- 第三章 数组与字符串
- 转载:《TypeScript 中文入门教程》
- ant design后台模板-1.前端环境搭建
- 算法导论程序5--雇佣问题(Python)
- 软测工作日志记录
- layer.js 封装使用, 运用在thinkphp
- 以某点为中心缩放视图
- 使用Xshell软件登录linux太慢的问题怎么解决?
- webmagic学习笔记(3)---eclipse下导入源码及第一个小爬虫简单分析