日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中queue排序_Java中常见的排序算法有哪些?---选择排序

發布時間:2025/3/20 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中queue排序_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開始

int[] nums = {84,83,88,87,61}; for(int i = 0;i< nums.length-1;i++){ for(int j=i;j< nums.length-1;j++){ if(nums[i] > nums[j+1]){ int temp ;temp = nums[i];nums[i] = nums[j+1];nums[j+1] = temp;}} }

以上則是選擇排序的算法原理和具體實現步驟,

敬請期待java中的其他排序算法!

總結

以上是生活随笔為你收集整理的java中queue排序_Java中常见的排序算法有哪些?---选择排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。