C++複習九 冒泡排序法

來源:互聯網
上載者:User
實驗目的:學會冒泡排序演算法實驗內容:實現冒泡排序演算法,並將之定義為一個函數,其中參數是指向數組的指標變數

* 程式頭部注釋開始* 程式的著作權和版本聲明部分* Copyright (c) 2011, 煙台大學電腦學院學生* All rights reserved.* 檔案名稱: * 作 者: 張傳新 * 完成日期: 2012 年 4月 12日* 版 本號: 1

* 對任務及求解方法的描述部分* 輸入描述:要排序的資料在程式中初始化* 問題描述:實現冒泡排序* 程式輸出:排序後的結果* 程式頭部的注釋結束(此處也刪除了斜杠)

#include <iostream>using namespace std;void bubble_sort(int *p, int num);  //排序void output_array(int*, int);//輸出排序後的數組int main( )   {int a[20]={86,46,22,18,77,45,32,80,26,88,57,67,20,18,28,17,54,49,11,16};int b[15]={27,61,49,88,4,20,28,31,42,62,64,14,88,27,73};bubble_sort(a,20);   //用冒泡法按降序排序a中元素output_array(a,20);   //輸出排序後的數組bubble_sort(b,15);   //用冒泡法按降序排序b中元素output_array(b,15);   //輸出排序後的數組return 0;}//下面定義自訂函數void bubble_sort(int *p, int num){int i,j,t;//i,j為控制變數,t為中間變數for(j=0;j<=num-1;j++){for(i=0;i<num-1-j;i++){if(*(p+i+1)>*(p+i))//如果下一個數大於前一個數,交換位置{t=*(p+i);*(p+i)=*(p+i+1);*(p+i+1)=t;}    }}}void output_array(int*p, int num){int i;for (i=0;i<num;i++)    {cout<<*(p+i)<<" ";    }cout<<endl;}

運行結果:

經驗積累:冒泡排序很形象,不斷地把大一點的或小一點的往前移,總會有排完的時候,

我覺得生活一樣,不斷把解決的問題放在後面,把新的問題,重要的問題放在前面,當

你解決完問題時,你走過的路將顯示在你的腳下!!!

相關文章

聯繫我們

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