2020.9.23//2018年华为校招机试学习笔记 数字排序
一、gets() or gets_s()
vs2015不再可以是使用gets()函数获取字符串,可通过gets_s()来实现此功能。
使用方法:
char string[9999];
gets_s(string);
二、分配随机长度的数组
查了一些资料,发现C的方法并没有达到心里预期的简洁度。
其中一种思想为先分配n个内存空间,如果不够,在分配n+x的内存空间,将前n个内存空间的内容memcpy到新分配的空间中。
放弃用C实现该功能,C++应该更好实现。
三、排序
常见的算法效率比较
1.冒泡排序
- 算法:
(1)比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个
(2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素还是最大的数
(3)针对所有的元素重复以上的步骤,除了最后一个 - 稳定性
稳定
假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的
2.选择排序
3.插入排序
4.快速排序
5.希尔排序
6.并归排序
https://www.cnblogs.com/jj1106/p/11106101.html