反之亦然,把所有元素都做過這個動作後就是排序好的陣列
int array[100];
for (int i = 0; i < 100; i++)
{
 int start, end, mid;
 start = 0;
 end = i - 1;
 mid = 0;
 int temp = array[i];
 while (start <= end)
 {
  mid = (start + end) / 2;
  if (array[mid] > temp)//目標元素在陣列左邊
  {
   end = mid - 1;
  }
  else
  {
   start = mid + 1;
  }
 }
 for (int j = i - 1; j > end; j--)//找到插入的位置,將其後的元素後移一位
 {
  array[j + 1] = array[j];
 }
 array[end + 1] = temp;
}
沒有留言:
張貼留言