插入排序:
类似洗牌,将从1~N的数字分别插入到合适的位置,当然对于数组来说,需要做相应的移动。基础的方法是依次挪动,较为快捷的方法是memmove。
需要说明的是,按照Linux的man手册,memmove是支持内存overlap的,即可以部分重叠,函数内部会处理好其他的事情,因此类似书上的先移动到buffer,再从buffer移动到另一个位置是没必要的!
#include <stdio.h>
#include <string.h>
typedef[......]
插入排序:
类似洗牌,将从1~N的数字分别插入到合适的位置,当然对于数组来说,需要做相应的移动。基础的方法是依次挪动,较为快捷的方法是memmove。
需要说明的是,按照Linux的man手册,memmove是支持内存overlap的,即可以部分重叠,函数内部会处理好其他的事情,因此类似书上的先移动到buffer,再从buffer移动到另一个位置是没必要的!
#include <stdio.h>
#include <string.h>
typedef[......]