Java 基本演算法1:冒泡演算法

來源:互聯網
上載者:User

標籤:auth   常用   二次   長度   main   比較   ...   舉例   分析   


常用演算法

1.冒泡演算法

(1).基本思想
相鄰的元素倆倆比較,大的往後面放,在第一次比較完以後,最大值就出現在最大索引處,同理在比較幾次,這樣就可以獲得一個排好序的
數組。

(2).程式流程設計
A:倆倆比較,資料大的往後放
B:第一次比較完畢以後,下一次的 比較就會減少一個元素。
C:第一次比較有0個元素不參與比較
第二次比較有1個元素不參與比較
第三次比較有2個元素不參與比較
.....
第n次比較有n-1個元素不參與比較
D:總共需要比較的次數為:數組長度-1次

(3).代碼實現

public class Test {
public static void main(String[] args) {
//定義資料來源
int[] arr={12,23,4,53,32,123,23,23,78};
if(arr.length>0){
bubbleSort(arr);
printArray(arr);
}
}

/**
* 冒泡排序演算法
* @param int[] arr:資料來源
* @author Administrator
*/

public static void bubbleSort(int[] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}

/**
* 遍曆數組顯示輸出
* @author Administrator
* @param int[] 要輸出的資料來源
*/
public static void printArray(int[] arr){
System.out.print("{");
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
System.out.print(arr[i]);
}else{
System.out.print(arr[i]+",");
}
}
System.out.print("}");
}
}

//輸出結果
{4,12,23,23,23,32,53,78,123}


(5).實際使用舉例
A:要求:輸入字串"dasdfhasasjdfh"
輸出字串""
實際就是把字串按照順序排序

B:程式碼分析
a.定義一個字串
b.把字串轉化為字元數組(toCharArray())
c.b把數組進行排序
d.把排序後的字元數組轉成字串
e.輸出最後的字元

c.代碼實現

public class Test {
public static void main(String[] args) {
//定義資料來源字串
String str="dasdfhasasjdfh";
//把定義的字串轉化為字元數組
char[] chs=str.toCharArray();
//把字元數組進行排序
bubbleSort(chs);
//把排序以後的字元數組轉成字串
String result=String.valueOf(chs);
//輸出最後的結果
System.out.println("result is:"+result);
}

/**
* 冒泡排序演算法
* @param int[] arr:資料來源
* @author Administrator
*/

public static void bubbleSort(char[] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
char temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
}

//輸出結果為:
result is:aaadddffhhjsss

 

Java 基本演算法1:冒泡演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.