void sort(int[] arr){
for(int i=0; i<arr.length-1; i++){
for(int j=i+1; j<arr.length; j++){
if(arr[j] < arr[i]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
我只是想知道它是什么类型的排序算法,我知道插入排序,冒泡排序和选择排序,但它似乎不是那些,我有点困惑可以有人帮助我。
答案 0 :(得分:0)
这是BubbleSort的一个例子。该算法通过重复交换列表中的项目直到列表排序为止。此特定算法将整数从最大到最小排序。 BubbleSort的平均复杂度为O(n ^ 2),其中n是列表中的项目数。
答案 1 :(得分:0)
这是选择排序的示例。
选择排序是O(n2)排序算法之一,这使得排序大数据量的效率非常低。算法的想法很简单。数组是虚构的,分为两部分 - 排序一个,未排序一个。在开始时,排序的部分是空的,而未排序的部分包含整个数组。在每个步骤中,算法在未排序部分中找到最小元素,并将其添加到已排序部分的末尾。当未分类的部分变空时,算法停止。
时间复杂度:O(n * n),因为有两个嵌套循环。
辅助空间:O(1)