java 排序_Java中常见的排序算法有哪些?---选择排序
排序相關的的基本概念
排序:
將一組雜亂無章的數據按一定的規律順次排列起來。
數據表( data list): 它是待排序數據對象的有限集合。
排序碼(key):通常數據對象有多個屬性域,
即多個數據成員組成,其中有一個屬性域可用來區分對象,作為排序依據。
該域即為排序碼。
每個數據表用哪個屬性域作為排序碼,要視具體的應用需要而定。
我們常見的一些排序算法,如圖所示:
Java中的經典算法之選擇排序(SelectionSort)
原理:每一趟從待排序的記錄中選出最小或最大的元素,
順序放在已排好序的序列最后,直到全部記錄排序完畢。
也就是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。
現在,我們先一起來看看什么是排序?簡單選擇排序的基本思想:
給定數組:int[] arr={里面n個數據};
第1趟排序,在待排序數據arr[0]~arr[n-1]中選出最小的數據,將它與arrr[0]交換;
第2趟,在待排序數據arr[1]~arr[n-1]中選出最小的數據,將它與r[1]交換;
以此類推,第i趟在待排序數據arr[i]~arr[n]中選出最小的數據,將它與r[i]交換,直到全部排序完成。
簡單來說:
比如在5個數據中,如果要做升序排序,我們分別要在這5個數中找出最小值放在第一個位置,第二小值放在第二個位置,依次類推,最后那個肯定就是第5小值
例如:有一個整型數組int[] nums = {84,83,88,87,61};
其排序后的結果,如圖:
接下來,我們更進一步來分析它的比較過程:
選擇排序的代碼實現
i:控制總輪數
j:控制元素的索引位置
分析:5個元素,需要4輪比較,也就是說n個元素,需要n-1輪比較,看上面的情況執行情況,第幾輪,j就從第幾個元素開始依次和后面的元素比較,則從j=i開始
以上則是選擇排序的算法原理和具體實現步驟,
敬請期待java中的其他排序算法!
總結
以上是生活随笔為你收集整理的java 排序_Java中常见的排序算法有哪些?---选择排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java加密解密代码_base64位加密
- 下一篇: win10老自动重启怎么办 解决Win1