选择排序--Java
生活随笔
收集整理的這篇文章主要介紹了
选择排序--Java
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
選擇排序:合適的元素放在合適的位置
1、每一次遍歷的過程中,都假定第一個索引處的元素是最小值,和其他索引處的值依次進行比較,如果當前索引處的值大于其他某個索引處的值,則假定其他某個索引處的只為最小值,最后可以找到最小值所在的索引。
2、交換第一個索引處和最小值所在的索引處的值
選擇排序api實驗:
package demo02.sort; public class Selection {/*** 對數組a中的元素進行排序*/public static void sort(Comparable[] a){for (int i = 0; i < a.length-1; i++) {//定義一個變量,記錄最小元素所在的索引,默認為參與選擇排序的第一個元素的位置int minIndex = i;for (int j = i+1; j < a.length; j++) {if (greter(a[minIndex],a[j])){minIndex = j;}}//交換最小元素所在索引minIndex處的值和索引i處的值exch(a,i,minIndex);}}/*** 比較v元素是否大于w元素*/private static boolean greter(Comparable v,Comparable w){return v.compareTo(w)>0;}/*** 數組元素i和j交換位置*/private static void exch(Comparable[] a,int i,int j){Comparable temp;temp = a[i];a[i] = a[j];a[j] = temp;} } package demo02.test; import demo02.sort.Selection; import java.util.Arrays; public class TestSelection {public static void main(String[] args) {//原始數據Integer[] a = {4,6,8,7,9,2,10,1};Selection.sort(a);System.out.println(Arrays.toString(a));} }運行結果:
選擇排序時間復雜度分析:
總結
以上是生活随笔為你收集整理的选择排序--Java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python解决最优化问题_python
- 下一篇: mysql pdo教程_php中mysq