Java學習記錄(04) 排序法彙總

2021-09-09 05:32:11 字數 752 閱讀 9814

注:方法暫不完整,近期補充完善;方法暫未封裝;

氣泡排序法

要點:定義temp、flag、內層迴圈 jflag:設定標誌位,如果發生交換,則為true否則為false。如果某一次沒有發生交換,說明排序已經完成。

在序列基本有序的情況下,flag的設定可以有效節省開銷。

內層迴圈 j迴圈一次沉乙個最大值,下一輪比較的資料少乙個;

public

class

demo2

;int temp=0;

//外層迴圈,可以決定一共走趟

for(

int i=

0;i1;i++)}

}//輸出最後結果

for(

int i=

0;i}

選擇排序法

要點:定義temp、min、minindex;

public

class

demo2

;int temp=0;

for(

int j=

0;j1;j++)}

//當退出for迴圈時就找到了這次的最小值

temp=arr[j]

; arr[j]

=arr[minindex]

; arr[minindex]

=temp;

}for

(int i=

0;i}

04 排序 歸併排序

基本原理 對於給定的一組資料 假設有n個資料 首先將每兩個相鄰長度為1的子串行進行歸併,得到n 2個長度為2或者1的有序子串行,再將其兩兩合併,反覆此過程,得到乙個有序序列。package com.sort 歸併演算法 public class testmergesort else while i ...

04 排序與分頁

如果沒有指定排序,順序按照新增順序顯示 不指定公升序降序,預設公升序 公升序asc,降序desc 排序 按照員工工資公升序排列 使用列名的別名進行排序 按照員工年工資排序 select employee id,salary 12 annual sal from employees order by ...

八排序演算法彙總

1.直接插入排序 原理 將陣列分為無序區和有序區兩個區,然後不斷將無序區的第乙個元素按大小順序插入到有序區中去,終於將全部無序區元素都移動到有序區完畢排序。要點 設立哨兵,作為暫時儲存和推斷陣列邊界之用。實現 void insertsort node l,int length l i 1 l 0 將...