天天看點

C++ 第十五周報告1--《冒泡法排序 》

 實驗目的:學會冒泡排序算法

實驗内容:實作冒泡排序算法,并将之定義為一個函數

* 程式頭部注釋開始

* 程式的版權和版本聲明部分

* Copyright (c) 2011, 煙台大學計算機學院學生

* All rights reserved.

* 檔案名稱:        運用冒泡法排序                           

* 作    者:            劉江波                 

* 完成日期:    2011     年    11   月   30     日

* 版 本号:          v11.30

* 對任務及求解方法的描述部分

* 輸入描述:要排序的資料在程式中初始化

* 問題描述:實作冒泡排序

* 程式輸出:排序後的結果

* 程式頭部的注釋結束(此處也删除了斜杠)

#include <iostream>
using namespace std;
void bubble_sort(int arr[], int num);
void output_array(int arr[], int num);
int main( )   //不要對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 arr[], int num)
{
int i,j,t;
for(i=0;i<num-1;i++)
    for(j=0;j<num-1-i;j++)
     if(arr[j]>arr[j+1])
  {t=arr[j];arr[j]=arr[j+1];arr[j+1]=t;}
}
void output_array(int arr[], int num)
{
int j;
for(j=0;j<num;j++)
    cout<<arr[j]<<" ";
cout<<endl;
return ;
}


           

運作結果:(貼圖)

經驗積累:

1. 數組名作形式參數,将能改變作為實際參數的數組的值,實際參數傳遞給形式參數的是數組的位址值,也是傳值;

2. 形式參數中不指定數組大小,實際數組的大小也一并作為參數傳遞;

3.

上機感言:O(∩_∩)O~~快樂。