1.排序算法的应用场景
冒泡排序适用于数据量不大,对稳定性有要求,且数据基本有序的情况下。
选择排序适用于数据量不大,且对稳定性没有要求的时候。
插入排序适用于数据量不大,对算法的稳定性有要求且数据局部或整体有序的情况。
快速排序适用于数据基本有序,查找一组中前K大的数据。
归并排序适用于数据量较大,对稳定性有要求的场景,但通常与插入排序结合在一起使用,先利用直接插入排序求得较长的有序子序列,然后再两两归并之。因为插入排序是稳定的,所以改进后的归并排序依然稳定。
2.请说说你对Qt creater的理
Qt creater是一个IDE,也就是一个集成开发环境,主要为了帮助新Qt用户更快速入门并运行项目,还可以提高有经验的Qt开发人员的工作效率。
3.HTTP与HTTPS的区别?
i.http是明文传输,https则是具有安全性的tsl加密传输协议。
ii.https除了三次握手以外,还要进行ssl握手,协商加密使用对称密匙。
iii.https需要服务端申请证书,浏览器端安装根证书。
iv.端口也不一样,前者是80,后者是443。
4.什么是回调函数?
回调函数就是使用者自定义一个函数并实现函数的程序内容,然后把这个函数作为参数传给别人的函数中,由别人的函数在运行期间回调你实现的函数。
在C语言中只能使用函数指针实现,在C++中可以使用仿函数或匿名函数实现。
5.常用字符串函数strcpy(a,b)/strlen(a)/strcat(a,b)/strcmp(a,b)/strupr(a)/strlwr(a)作用。
strcpy(a,b) | 将字符串b赋给a,需要string.h的支持 |
strlen(a) | 获取字符串的长度,不包含字符串结束标志“\0” |
strcat(a,b) | 字符串连接函数,a=a+b |
strcmp(a,b) | 按照ASCLL码顺序比较两个字符中的字符,a=b返回0,a>b返回正数,a<b返回负数 |
strupr(a) | 小写字母变大写 |
strlwr(a) | 大写字母变小写 |