📄 t1.c
字号:
#include <stdio.h>
void main(unsigned int *x)
{
unsigned int i,j,t;
float value;
for(i=1;i<16;i++)
{
t=*(x+i);
for(j=i-1;j>=0&&t<*(x+j);j--)
{
*(x+1+j)=*(x+j);
}
*(x+j+1)=t; //直接插入法排序
if(i>=4&&i<=12)
value+=*(x+j+1); //去处最大的4个和最小的4个
}
value=value/8; //取剩余数的平均值
}
在10K以下的数据处理中,直接插入排序法的执行时间最短
在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排
好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数
也是排好顺序的。如此反复循环,直到全部排好顺序。与冒泡排序的效率相同。但它在速度上还是要高点,这是因为在冒泡排序下是进行值交换,而在插入排序下是值移动,所以直接插入排序将要优于冒泡排序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -