第十五周实验报告1

来源:互联网 发布:随州广电网络的电话是 编辑:程序博客网 时间:2024/05/16 18:15
 

实验目的:学会冒泡排序算法
实验内容:实现冒泡排序算法,并将之定义为一个函数

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者:       徐嘉健                        
* 完成日期:       2011 年      12 月      4 
* 版本号:         number one

* 对任务及求解方法的描述部分
* 输入描述:要排序的数据在程序中初始化
* 问题描述:实现冒泡排序
* 程序输出:排序后的结果
* 程序头部的注释结束(此处也删除了斜杠)

#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(j = 0; j < num; j++)
         for(i = 0; i < num - j; i++)
             if(arr[i] > arr[i+1])
             {
                 t = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = t;
             }
}

void output_array(int arr[], int num)
{
    int i;
    cout << "the sorted numbers:" << endl;
    for(i = 0; i < num; i++)
    {
        cout << arr[i] << "  ";
    }
    cout << endl;
}


运行结果:(贴图)
第十五周实验报告1



经验积累:
1.采用冒泡法给数组中值排序,其实课本上的例题已经给的相当的详细了,所以看好课本是很重要的。

2.循环体的作用一定要相当的明确,如:用来表示比较次数啦,或者比较的数字个数啦。

3.熟悉问题的机制和最终的目的很重要。

上机感言:

其实这个程序和课本上关于冒泡法给出的程序真的是十分的相似,只不过,在老师给的模板中要求调用两个函数,一个是运用冒泡法比较大小,一个是输出数组,其实本质是一样的,课本的重要性可见一斑了,所以,下课的时候除了应付考试抠细节的时候还要注意认真看例题的程序,毕竟记住了才能为己所用。

原创粉丝点击