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