5種排序方式

2022-08-29 22:18:29 字數 1592 閱讀 6131

package sort;

public class sortmethods ;

//1.第一種排序,比較簡單,氣泡排序

//bubblesort(a);

//bubblesort2(a);

//2.選擇排序,先遍歷一遍,把最大的數的位置找出來,放在最後乙個位置,即a[a.length-1]

//selectsort(a);

//3.插入排序,即檢查第i個數字,如果左邊的數字比他大,進行交換,直到左邊數字比他小,就停止

//insertsort(a);

//當增量減至1時,整個檔案恰被分成一組,演算法便終止

//shellsort(a);

//5.快速排序(這個是經常會用到的排序演算法,可以排那種很多資料的演算法),首先任意選取乙個資料(通常選用陣列的第乙個數)作為關鍵資料,

//然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。

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

print(a); }

//氣泡排序,把大的往後面挪,第一次把最大數排到最後位置(或者最小數,根據題意,此處把最大數排到最後)

private static void bubblesort(int a)

}} print(a);

} //優化之後的氣泡排序

private static void bubblesort2(int a)

}if(flag==true)

} print(a); }

//選擇排序的**

private static void selectsort(int a)

}if(k!=i)

} print(a); }

//插入排序的**

private static void insertsort(int a)

}a[j+1]=temp;

} print(a); }

//希爾排序

private static void shellsort(int a)}}

if(gap>1)else if(gap==1)

} print(a); }

//快速排序演算法,主要思想就是把乙個組分成兩個組,以第乙個數字為界,左邊放比他小的數,右邊放比他大的數

public static void quicksort(int a,int s,int e)

} private static int partition(int a, int s, int e)

swap(a, i, j);

} swap(a,s,j);

return j;

} //交換方法

private static void swap(int a,int j,int i)

//輸出的方法

private static void print(int a)

system.out.println(); }

}

此處寫了5種比較常用的排序方式,氣泡排序,選擇排序,插入排序,希爾排序和快排,靈活運用,基本methods就是上面的**,萬變不離其宗。

5種連線方式

if object id a is not null begin drop table a endgo create table a name nvarchar 3 nvarchar 2 go if object id b is not null begin drop table b endgo c...

建立流的5種方式 篩選 對映 排序

一 建立流的5種方式 建立流的5種方式 public static void test1 二 篩選與切片 篩選與切片 filter 接收lambda,從流中排除某些元素 limit 截斷流,使袁術不超過給定的數量。skip n 跳過元素,返回乙個扔掉了前n個元素的流。若元素中不足n個,則返回乙個空流...

4種排序方式

四種排序方式從時間複雜度和空間複雜度比較 排序法最差時間分析 平均時間複雜度 穩定度空間複雜度 氣泡排序 o n2 o n2 穩定o 1 快速排序 o n2 o n log2n 不穩定o log2n o n 選擇排序 o n2 o n2 穩定o 1 二叉樹排序 o n2 o n log2n 不一定o...