华为机试题
总体来说,最近一年的题,难易程度简单偏中等。
题总共分为五大类,分别是字符,排序,查找,算法题,其中二叉树单独拿出来考的
一.字符串
经常考的题有:(字符串比较,字符串拼接,字符串排序,是否为公共子串,字符串翻转,字符串重排;)
字符串类的题就直接用map函数就行,剩下的百分之2.5的题用for循环输出结果就可以;
难易程度:百分之80属于简单题的范畴,剩下的属于运气题——————————。
上面是几类高频的考试内容,以下是考试常用的几个函数 **
1.getline 函数,*此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。*
*当 cin 读取数据时,一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。*
getline(cin, inputLine); 举例: getline(cin, name);
2.sort函数,包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以实现对数据的排序。
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
举例:
#include
#include
using namespace std;
bool cmp(int a,int b);
main(){
//sort函数第三个参数自己定义,实现从大到小
int a[]={45,12,34,77,90,11,2,4,5,55};
sort(a,a+10,cmp);
for(int i=0;i<10;i++)
cout<b;
}
3.substr函数,返回一个string,包含s中从pos开始的n个字符的拷贝(pos的默认值是0,n的默认值是s.size() - pos,即不加参数会默认拷贝整个s)
举例:
#include
#include
using` `namespace` `std;
int` `main()
{
string s(``"12345asdf"``);
string a = s.substr(0,5); ``//获得字符串s中从第0位开始的长度为5的字符串
cout << a << endl;
}