冒泡與選擇演算法區別

來源:互聯網
上載者:User

標籤:for   代碼   演算法   第一個   數組   排序   

1.冒泡

冒泡就是 1   2  3   4  5 6 7 8 9  

             2  1   3   4  5  6  7  8   9

             2   3   1  4  5   6  7  8  9 

            2    3   4   1  5  6  7  8 9

           2     3     4  5   1   6  7  8  9

    。。。。。。。。。

          2    3  4  5  6 7  8  9   1

        這是第一次迴圈  如此迴圈9次  就變成

       9  8  7  6  5  4  3  2   1

   代碼如下  這裡是降序,要是想升序只需要把if( a[j] <a[j+1])改成if( a[j] >a[j+1])

 for( int i =0 ; i《10; i++)

for( int j = 0; j < 10 - i -1; j ++){

if( a[j] <a[j+1])

{

   int s=a[j] + a[j+1];

 a[j] = s - a[j];

a[j+1] = s - a[j];

}

}

 

2.選擇排序

  1  2  3 4 5

   2  1  3  4  5

   3  1   2  4  5

   4    1  2  3  5

   5     1  2  3   4

 這是拿第一個與後面的 都比較一次,每當不符合條件時候就交換數值。

代碼

這裡是升序,要是想降序只需要 把if(a[i] >a[j]) 改成if(a[i] <a[j])

for( int i =0 ; i《10; i++)//這裡是 10 是 數組的個數

for( int j = 0; j < 10  ; j ++){//10 數組的個數

if( a[i] >a[j])

{

   int s=a[i] + a[j];

 a[i] = s - a[j];

a[j] = s - a[i];

}

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.