天天看点

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~~快乐。