反之亦然,把所有元素都做過這個動作後就是排序好的陣列
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;
}
沒有留言:
張貼留言