您的位置:首页 > 编程语言 > PHP开发

第十六周实验报告1

2012-01-20 18:11 253 查看
 
第16周报告1(任务2):

实验目的:学会冒泡排序算法

实验内容:实现冒泡排序算法,并将之定义为一个函数,其中参数是指向数组的指针变量

* 程序头部注释开始

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:                             

* 作    者:王引琳                            

* 完成日期:  2011       年 12      月 7       日

* 版 本号:         

* 对任务及求解方法的描述部分

* 输入描述:要排序的数据在程序中初始化

* 问题描述:实现冒泡排序

* 程序输出:排序后的结果

* 程序头部的注释结束

#include <iostream>

using namespace std;

void bubble_sort(int *p, int num);  //不要对自定义函数的声明有任何改动

void output_array(int*, int);

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 *p, int num)

{

 int i,j,k,t;

 for(i=0;i<num-1;i++)

 {

  k=i;

  for(j=i+1;j<num;j++)

   if(*(p+j)<*(p+k)) k=j;

   {

    t=*(p+k);

    *(p+k)=*(p+i);

    *(p+i)=t;

   }

 }

}

void output_array(int*p, int num)

{

 int i;

 for(i=0;i<num;i++)

  cout<<*(p+i)<<" ";

 cout<<endl;

}

 

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  output 算法 任务 c