对78,12,99,45,36进行选择排序
时间: 2023-05-26 22:02:16 浏览: 101
第一轮排序:找到最小的数值,即12,与第一个数值78交换位置
78,12,99,45,36 -> 12,78,99,45,36
第二轮排序:在第二个数值(现在是12)之后的数值中找到最小的数值,即36,与第二个数值78交换位置
12,78,99,45,36 -> 12,36,99,45,78
第三轮排序:在第三个数值(现在是99)之后的数值中找到最小的数值,即45,与第三个数值99交换位置
12,36,99,45,78 -> 12,36,45,99,78
第四轮排序:在第四个数值(现在是99之后的数值中找到最小的数值,即78,与第四个数值99交换位置
12,36,45,99,78 -> 12,36,45,78,99
排序结束,数组为12,36,45,78,99。
相关问题
对78 12 99 45 36选择排序
### 回答1:
选择排序的步骤如下:
1. 找到最小值,放到第一个位置。
2. 在剩余的数中,找到最小值,放到第二个位置。
3. 以此类推,直到所有数都排好序。
应用到这个数列上,选择排序的过程如下:
1. 找到最小值,发现78最小,将其放到第一个位置:**78** 12 99 45 36
2. 在剩余的数(12 99 45 36)中找到最小值,发现12最小,将其放到第二个位置:78 **12** 99 45 36
3. 在剩余的数(99 45 36)中找到最小值,发现36最小,将其放到第三个位置:78 12 **36** 99 45
4. 在剩余的数(99 45)中找到最小值,发现45最小,将其放到第四个位置:78 12 36 **45** 99
5. 最后只剩下一个数99,已经排好序了,排序结束。
最终结果为:78 12 36 45 99。
### 回答2:
选择排序是一种简单但效率较低的排序算法。对于给定的数组78、12、99、45、36,选择排序的基本思想是在未排序的数组中,每一轮选出最小(或最大)的元素,然后将其放置在已排序数组的最后面(或最前面)。具体步骤如下:
1. 首先,在数组中找到最小的元素12,将其与数组的第一个元素78进行交换,此时数组变为12、78、99、45、36;
2. 接下来,在剩余的元素中找到最小的元素36,将其与数组的第二个元素78进行交换,此时数组变为12、36、99、45、78;
3. 然后,在剩余的元素中找到最小的元素45,将其与数组的第三个元素99进行交换,此时数组变为12、36、45、99、78;
4. 继续寻找最小的元素,发现数组中最小的元素已经是78,无需进行交换,算法结束。
最终的排序结果为12、36、45、78、99。
选择排序的时间复杂度为O(n^2),其中n是数组的长度。需要进行n次交换操作,每次交换的时间复杂度为O(n),因此总的时间复杂度为O(n^2)。选择排序由于每次只选择一个元素进行交换,因此它的空间复杂度为O(1),即不需要额外的空间。
需要注意的是选择排序不稳定,即对于相同的元素,有可能在排序后的结果中它们的相对位置发生变化。在本例中,虽然选择排序的结果是正确的,但是原来的78和99的相对位置发生了变化。所以,如果要保持相同元素的相对位置不变,可以考虑使用其他稳定排序算法。
### 回答3:
选择排序是一种简单但有效的排序算法。根据选择排序的原理,我们可以将给定的数列78 12 99 45 36进行排序。
首先,我们从这个数列中找到最小的数,然后将它与数列的第一个数进行交换。在这个例子中,我们找到了12是最小的数,并将它与78交换,于是得到了数列12 78 99 45 36。
接下来,我们在剩余的数列中继续寻找最小的数,然后将它与数列的第二个数进行交换。在这个例子中,我们找到了36是最小的数,并将它与78交换,于是得到了数列12 36 99 45 78。
我们重复以上的步骤,每次都在剩余的数列中找到最小的数,并将它与相应位置的数进行交换,直到所有的数都按照从小到大的顺序排列好。
综上所述,对于数列78 12 99 45 36,经过选择排序后,我们得到了新的有序数列12 36 45 78 99。选择排序的时间复杂度为O(n^2),因此适用于小规模的数列排序。
用js对78,12,99,45,36进行选择排序
var arr = [78, 12, 99, 45, 36];
for (var i = 0; i < arr.length - 1; i++) {
var minIndex = i;
for (var j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
var temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
console.log(arr); // 输出 [12, 36, 45, 78, 99]
阅读全文