本篇文章為大家展示了怎么在java項(xiàng)目中實(shí)現(xiàn)一個(gè)選擇排序功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
一、基本概念
每趟從待排序的記錄中選出關(guān)鍵字最小的記錄,順序放在已排序的記錄序列末尾,直到全部排序結(jié)束為止。
二、實(shí)現(xiàn)思路
從待排序序列中,找到關(guān)鍵字最小的元素;
如果最小元素不是待排序序列的第一個(gè)元素,將其和第一個(gè)元素互換;
從余下的 N - 1 個(gè)元素中,找出關(guān)鍵字最小的元素,重復(fù)(1)、(2)步,直到排序結(jié)束。
三、代碼實(shí)現(xiàn)
public class SelectionSort { public static void selectionSort(int[] list){ //需要遍歷獲得最小值的次數(shù) if (1>=list.length)return; for (int i=0;i<list.length-1;i++){ int temp=0; int index=i; //選擇當(dāng)前值為最小值索引 for (int j=i+1;j<list.length;j++){ if (list[index]>list[j]){ index=j; //修改最小值索引 } } temp=list[index]; list[index]=list[i]; list[i]=temp; } } public static void main(String[] args){ int[] list={4,3,6,5,7,8,2,10,2,9}; selectionSort(list); for (int num:list){ System.out.print(num+" "); } } }
四、時(shí)間復(fù)雜度
簡(jiǎn)單選擇排序的比較次數(shù)與序列的初始排序無(wú)關(guān)。 假設(shè)待排序的序列有 N 個(gè)元素,則比較次數(shù)總是N (N - 1) / 2。
而移動(dòng)次數(shù)與序列的初始排序有關(guān)。當(dāng)序列正序時(shí),移動(dòng)次數(shù)最少,為 0.
當(dāng)序列反序時(shí),移動(dòng)次數(shù)最多,為3N (N - 1) / 2。
所以,綜合以上,簡(jiǎn)單排序的時(shí)間復(fù)雜度為 O(N2)。
上述內(nèi)容就是怎么在java項(xiàng)目中實(shí)現(xiàn)一個(gè)選擇排序功能,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文名稱:怎么在java項(xiàng)目中實(shí)現(xiàn)一個(gè)選擇排序功能-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://chinadenli.net/article22/ddgscc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、標(biāo)簽優(yōu)化、微信小程序、品牌網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容