求折半插入排序程序!!!急急急!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/09 17:51:45
只要程序
是PASCAL语言的

template<typename T>
void insertion_sort( T * t, const int & size )
{
int key,
i, j,
low, high, mid;

for( i=1; i<size; i++ )
{
if( t[i] < t[i-1] )
{
low = 0;
high = i-1;
key = t[i];
while( low <= high )
{
mid = (low+high)/2;

if( key < t[mid] )
high = mid - 1;
else
low = mid + 1;
}
for( j=i; j>high+1; j-- )
t[j] = t[j-1];
t[high+1] = key;
}
}
}