借用一下 其他博主的图,这个图表示的很清晰
代码实现:
//升序排列数组中元素
void ascending(int *a, int n)
{
for (int i = 0; i < n; i++)
{
int temp; //假设最小值下标
int min = i;
for (int j = i+1; j < n+1; j++) //遍历元素与第一个元素比大小
if (T[j] < T[min])
min = j; //更新最小值下标
if (min != i)
temp = a[i]; a[i] = a[min]; a[min] = a[i]; //交换元素
}
}
时间复杂度:O(n²)
空间复杂度:O(1)