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...