各種排序演算法

2021-07-10 22:52:37 字數 1100 閱讀 6756

快速排序

package test1;

public class quicklysort ;

sort(a,0,a.length-1);

for(int i=0;i=temp&&j>i)//如果j>i並且a[j]>temp座標向左移

j--;

a[i]=a[j];

while(a[i]<=temp&&j>i)//如果j>i並且a[i]<=temp座標右移

i++;

a[j]=a[i];

}a[i]=temp;

//遞迴處理左右的資料

sort(a,0,i-1);

sort(a,i+1,end);}}

} 氣泡排序

package test1;

public class maopaoorder ;

//    sort(a);

suppersort(a);

for(int i=0;ii;j--);

xierorder(a);

for(int i=0;i0);

insertsort(a);

for(int i=0;i=low進行查詢

while(high-low>=0)

//如果想不清可以乙個資料進行分析(i=1那麼j=0,high=-1)吧

for(int j=i-1;j>=high+1;j--)

a[j+1]=a[j];

a[high+1]=temp;}}

} 直接排序

package test1;

public class directorinsert ;

//           int b = directinsertorder(a);

//           for(int i=0;i=a[j]

* @param a

* @return

*/public static int directinsertorder(int a){

int len = a.length;

int b = new int[len];

b[0]=a[0];

for(int i=1;i=0&&temp=0&&temp

排序 各種排序演算法

每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子表中適當位置,直到全部記錄插入完成為止 待排序的記錄放在陣列r 0,n 1 中 排序過程中將r分成兩個子區間,有序區r 0,i 1 無序區r i,n 1 將當前無序區的第1個記錄,插入到有序區中適當的位置上 每次是有序區增加乙個記錄,知道...

各種排序演算法

交換函式 void swap int a,int b 氣泡排序 氣泡排序 bubble sort,台灣譯為 泡沫排序或氣泡排序 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排...

各種排序演算法

include include include using namespace std void swap int a,int b void output int a,int n 直接插入排序 時間複雜度o n 2 void insertsort int a,int n 折半插入排序 o n 2 只...