void
lnsertSort(SeqList R)
{
// 对顺序表R中的记录R[1..n]按递增序进行插入排序
int i,j;
for(i = 2;i <= n;i++) // 依次插入R[2],…,R[n]
if(R[i].key<R[i-1].key)
{
// 若R[i].key大于等于有序区中所有的keys,则R[i]应在原有位置上
R[temp] = R[i];
j = i - 1;
do
{
// 从右向左在有序区R[1..i-1]中查找R[i]的插入位置
R[j + 1] = R[j]; // 将关键字大于R[i].key的记录后移
j--;
}while(R[0].key < R[j].key); // 当R[i].key≥R[j].key时终止
R[j + 1] = R[temp]; // R[i]插入到正确的位置上
} // endif
} // InsertSort
void lnsertSort( int [] x)
{
int j,temp;
for(int i = 1; i < x.Length; i++) // 依次插入x[1],…,x[n-1]
if(x[i] < x[i - 1])
{
temp = x[i];
j = i - 1;
do
{
x[j + 1] = x[j];
j--;
}while(temp < x[j]);
x[j + 1] = temp;
} // endif
} // InsertSort
{
// 对顺序表R中的记录R[1..n]按递增序进行插入排序
int i,j;
for(i = 2;i <= n;i++) // 依次插入R[2],…,R[n]
if(R[i].key<R[i-1].key)
{
// 若R[i].key大于等于有序区中所有的keys,则R[i]应在原有位置上
R[temp] = R[i];
j = i - 1;
do
{
// 从右向左在有序区R[1..i-1]中查找R[i]的插入位置
R[j + 1] = R[j]; // 将关键字大于R[i].key的记录后移
j--;
}while(R[0].key < R[j].key); // 当R[i].key≥R[j].key时终止
R[j + 1] = R[temp]; // R[i]插入到正确的位置上
} // endif
} // InsertSort
void lnsertSort( int [] x)
{
int j,temp;
for(int i = 1; i < x.Length; i++) // 依次插入x[1],…,x[n-1]
if(x[i] < x[i - 1])
{
temp = x[i];
j = i - 1;
do
{
x[j + 1] = x[j];
j--;
}while(temp < x[j]);
x[j + 1] = temp;
} // endif
} // InsertSort