排序-----------------插入排序,冒泡排序

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

 

你可能感兴趣的:(排序-----------------插入排序,冒泡排序)