1.直接插入排序
void InsertSort(int k[], int n)
{
int i, j;
int temp;
for (i = 1; i < n; i++) {
temp = k[i];
j = i-1;
while (j >= 0 && temp < k[j]) {
k[j+1] = k[j];
j--;
}
k[j+1] = temp;
}
}
2.希尔排序
void ShellSort(int k[], int n)
{
int i,j;
int temp;
int gap = n;
do {
gap = gap/3 + 1;
for (i = gap; i < n; i++) {
temp = k[i];
j = i - gap;
while (j >= 0 && temp < k[j]) {
k[j+1] = k[j];
j = j - gap;
}
k[j+gap] = temp;
}
} while (gap > 1);
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。