1.插入排序 INSERT-SORT
设数组A是无序数组
非降序
for( i = 2; i <= length[A]; i++ )
{
key = A[i];
j = i - 1;
while( j >= 1 && A[j] > key)
{
A[j + 1] = A[j];
j = j - 1;
}
a[j + 1] = key;
}
非升序
for( i = 2; i <= length[A]; i++ )
{
key = A[i];
j = i - 1;
while( j >= 1 && A[j] < key)
{
A[j + 1] = A[j];
j = j - 1;
}
a[j + 1] = key;
}
插入排序的运行时间为n^2
2.冒泡排序 BUBBLE-SORT
非降序
for ( i = 2; i <= length(A); i++ )
{
for( j = i; j >= 2; j-- )
{
if( a[j] < a[j - 1] )
{
exchange(a[j], a[j - 1]);
}
}
}
非升序略
冒泡排序的运行时间为n^2