记实习生电面

面试进行了53分钟,大概问了一下一些问题:

1、关于多线程机制与断点续传的原理。线程与进程的区别。项目中线程个数应该怎么设定,要考虑那些因素?

2、说一下c语言中的字符串处理函数,我答了strlen()求字符串长度,strcpy()字符串拷贝函数,他又问strpy()进行字符串拷贝时可能出现那些问题?

字符串拷贝函数strcpy
   格式:  strcpy (字符数组名1,字符数组名2)
   功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“\0”也一同拷贝。字符数名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
#include"string.h"
main()
{
  char st1[15],st2[]="C Language";
  strcpy(st1,st2);
  puts(st1);printf("\n");
}
 本函数要求字符数组1应有足够的长度,否则不能全部装入所拷贝的字符串。

3、关于排序,问我喜欢用哪个,我答:快速排序。他问为什么以及这个算法是否稳定,如果不稳定怎么修改使它稳定?

以Ai与Aj为例子
      快速排序有两个方向,左边的i下标一直往右走,当a[i] <= a[center_index],其中center_index是中枢元素的数组下标,一般取为数组第0个元素。而右边的j下标一直往左走,当a[j] > a[center_index]。如果i和j都走不动了,i <= j, 交换a[i]和a[j],重复上面的过程,直到i>j。 交换a[j]和a[center_index],完成一趟快速排序。在中枢元素和a[j]交换的时候,很有可能把前面的元素的稳定性打乱,比如序列5 3 3 4 3 8 9 10 11,现在中枢元素5和3(第5个元素,下标从1开始计)交换就会把元素3的稳定性打乱,所以快速排序是一个不稳定的排序算法,不稳定发生在中枢元素和a[j]交换的时刻。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值