1. 程式人生 > 資訊 >英偉達 CEO 黃仁勳:有興趣探索英特爾作為代工廠的可能性

英偉達 CEO 黃仁勳:有興趣探索英特爾作為代工廠的可能性

public class BubbleSort{
public static void main(String[] args){

//氣泡排序
/*
1.一共n個元素

2.一共進行n-1輪排序,可以看成外層迴圈

3.每1輪迴圈可以確定1個數的位置,比如第1輪排序確定最大數,
第二輪確定第2大的數位置,以此類推

4.當進行比較時,如果前面的數大於後面的數,就交換

5.每輪比較的次數在減少(n-1)->(n-2)->(n-3)->....->1

*/

int temp = 0;
int arr[]={24,45,84,12,15};
for(int i = 0;i<arr.length-1 ;i++){//迴圈n-1次

for(int j = 0 ; j< arr.length-i-1 ; j++){//初始n-1次排序,每次迴圈後遞減一次排序
if(arr[j]>arr[j+1])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
for(int j = 0 ; j< arr.length ; j++){
System.out.print(arr[j]+"\t");
}
}
}

//優化一下,當冒牌排序在某次已經達到需要的效果終止排序
int temp = 0;
int arr[]={1,2,3,5,4};
for(int i = 0;i<arr.length-1 ;i++){//迴圈n-1次
int count = 0;//用來標記是否提前終止迴圈
for(int j = 0 ; j< arr.length-i-1 ; j++){//初始n-1次排序,每次迴圈後遞減一次排序
if(arr[j]>arr[j+1])
{
count++;
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
System.out.println("*****第"+(i+1)+"輪排序*****");
for(int k = 0 ; k< arr.length ; k++){

System.out.print(arr[k]+"\t");

}
System.out.print("\n");
if(count == 0){
break;
}
count = 0;

}