凡科网站怎么关闭建设中,郑州华久做网站,效果图案例网站,品牌营销咨询机构直接选择排序#xff08;Straight Select Sort#xff09;是一种典型的选择排序算法#xff0c;通过不断选择序列中最大#xff08;小#xff09;的元素。 一、算法基本思想 #xff08;1#xff09;基本思想 直接选择排序的基本思想就是#xff1a;不断从未排序队列中… 直接选择排序Straight Select Sort是一种典型的选择排序算法通过不断选择序列中最大小的元素。 一、算法基本思想 1基本思想 直接选择排序的基本思想就是不断从未排序队列中选择最大小的元素放到已排序队列队尾直至所有元素都排好序。 2运行过程 直接选择排序算法的运作如下 1、首先在原始序列中找到最小大元素存放到排序序列的起始位置 2、再从剩余未排序元素中继续寻找最小大元素然后放到已排序序列的末尾。 3重复第二步直到所有元素均排序完毕。 3示例 二、算法实现核心代码 C实现 void selection_sort(int arr[], int len)
{int i, j, min;for (i 0; i len - 1; i) {min i;for (j i 1; j len; j)if(arr[min] arr[j])min j;swap(arr[i], arr[min]);}
} Java实现 public void selection_sort(int[] arr) {int i, j, min, temp, len arr.length;for (i 0; i len - 1; i) {min i;for (j i 1; j len; j)if (arr[min] arr[j])min j;temp arr[min];arr[min] arr[i];arr[i] temp;}
} 三、性能算法时间、空间复杂度、稳定性分析 直接选择排序平均时间复杂度为O(n^2空间复杂度为O(1)是不稳定的排序算法。 原始序列 21254925*1608 排序后0816, 2125*2549 两个25的位置变化了所以是不稳定的。