氣泡排序:就是整個過程就像氣泡一樣往上公升,單向氣泡排序的思想就是(假設有小到大的排序):對於指定的n個記錄,從第乙個記錄開始依次對相鄰的兩個記錄進行比較,當前面的記錄大於後面的記錄時,交換位置,進行一輪比較和換位後,n個記錄中的最大值將位於第n位,然後對前(n-1)個記錄進行第二輪比較;重複該過程直到進行比較記錄只剩下乙個為止。
例:以陣列為例,氣泡排序程式如下:
packagecom.company;
/*** created by administrator on 2019/1/20. */
public
class
mpsort ;
system.out.println("氣泡排序前的順序:");
for(int i=0;i)
system.out.println();
//排序
sort(arr);
system.out.println("氣泡排序後的順序:");
for(int i=0;i)
system.out.println();
}public
static
void sort(int
arr)}}
}}
選擇排序:就是從未排序中選擇最小的元素放入到已排序元素的最後面,程式**如下:
packagecom.company;
/*** created by administrator on 2019/1/20. */
public
class
xzsort ;
system.out.println("排序前的陣列:");
for(int i=0;i)
system.out.println();
quicksort(arr);
system.out.println("排序後的陣列:");
for(int i=0;i)
}public
static
void quicksort(int
arr)}}
}}
關於快速排序的實現方式
採用遞迴的快速排序 public void quicksortrecursion int arr,int len,int start,int end int index partition arr,len,start,end if index start if index end 以基礎比較位為中心...
關於JS的快速排序實現方法
由於自己不是計算機專業,資料結構沒有太多研究,曾經面試時有被問過關於快速排序以及氣泡排序的寫法,氣泡排序比較簡單,當時能回答出來,但是快速排序當時就比較懵逼,不知道是個什麼方式實現的,面試回來後也沒太在意,最近在看c語言的資料結構,拓展下這方面的知識,其中就看到了關於快排演算法的描述 描述如下 在待...
演算法導論 關於快速排序的實現(c語言實現)
在演算法導論的第七章,介紹了有關快速排序的演算法。該演算法其實是分治演算法的一種。分 將陣列中的元素分成兩部分和乙個pivot 治 遞迴的對兩個子陣列進行排序 合 此時將陣列遍歷輸出即可 書中介紹的演算法的主要思想如下 1 首先將陣列的第乙個元素作為pivot,然後順序的遍歷該陣列,將小於pivot...