十六周实验

来源:互联网 发布:电气制图软件 编辑:程序博客网 时间:2024/05/18 03:55
 实验目的:学会冒泡排序算法
实验内容:实现冒泡排序算法,并将之定义为一个函数,其中参数是指向数组的指针变量

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:运用指针进行冒泡排序                             
* 作    者:彭志康                          
* 完成日期:  2011       年   12    月     
* 版 本号:版权所有,翻版必究         

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

 for(i=0; i< num; i++)
 {
  for(j=0; j< num; j++)
  {
   if(*(p+j) < *(p+i))
   {
    t = *(p+j); *(p+j) = *(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;
}

原创粉丝点击