氣泡排序的基本思想就是對比相鄰的元素值,如果滿足條件就交換元素值,把小的放前面,把大的放後面。
其演算法由兩層迴圈實現,外層迴圈控制排序次數,一般為排序的陣列的長度減1,內層迴圈主要用於比較相鄰元素的大小,以判斷是否交換位置。內層的對比次數隨著外層排序的次數的增加而減少。**如下
public class test4 ;
//建立氣泡排序類的物件
test4 sorter = new test4();
//呼叫排序方法將陣列排序
sorter.sort(array);
} /**
* 氣泡排序
* @param array 要排序的陣列
*/public void sort(int array)
}} //輸出氣泡排序後的陣列元素
showarray(array);
} /**
* 顯示陣列中的所有元素
* @param array 要顯示的陣列
*/public void showarray(int array)
system.out.println();
}}
直接選擇排序的基本思想是將排序位置與其他陣列元素一一對比,如果滿足條件就交換元素值,這樣每次排序都是取得的是剩餘陣列中最大的元素,再按照順序擺放。直接選擇排序與氣泡排序相比交換的次數要少很多,所以速度會快些。**如下:
public class selectsort ;
//建立直接排序類的物件
selectsort sorter = new selectsort();
//呼叫排序物件的方法將陣列排序
sorter.sort(array);
} /**
* 直接選擇排序
* @param array 要排序的陣列
*/public void sort(int array)
}//交換在位置array.length-i和index(最大值)上的兩個數
int temp = array[array.length-i];
array[array.length-i] = array[index];
array[index] = temp;
} showarray(array);
} public void showarray(int array)
system.out.println();
}}
反轉排序就是以相反的順序把原有的陣列的內容重新排序。反轉排序的思想就是把第乙個元素與最後乙個元素交換,第二個與倒數第二個交換,依此類推。實際迴圈次數為陣列長度的一半。
public class reversesort ;
//建立反轉排序類的物件
reversesort sorter = new reversesort();
//呼叫排序物件的方法將陣列反轉
sorter.sort(array);
} /**
* 反轉排序
* @param array 要排序的陣列
*/public void sort(int array)
system.out.println("陣列反轉後內容:");
showarray(array);
} /**
* 顯示陣列中的所有元素
* @param array 要顯示的陣列
*/public void showarray(int array)
system.out.println();
}}
常見的幾種陣列排序的演算法
int arrs 思路 i i每次迴圈,都會確定陣列中最後一位元素是陣列中最小的元素。j 每次迴圈,陣列都會從下標為j的元素與下標為j 1的元素進行比較,如果小於,則調換兩者的位置,依次向下進行判斷,直到確定陣列最後一位元素為最小的元素。for int i 0 i arrs.length 1 i s...
幾種常見排序演算法
幾種常見排序演算法 1氣泡排序 bubble sort 氣泡排序思路 將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i...
幾種常見排序演算法
1氣泡排序 bubble sort 氣泡排序思路 1.將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 2.對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i 0 i n...