第十六周实验报告(任务一)

来源:互联网 发布:ubuntu中国官网 编辑:程序博客网 时间:2024/06/10 15:34
 

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

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:  用指针变量实现冒泡排序算法                           
* 作    者:     张培培                        
* 完成日期:         2012年     03  月       05 日
* 版 本号:         

* 对任务及求解方法的描述部分
* 输入描述:要排序的数据在程序中初始化
* 问题描述:实现冒泡排序
* 程序输出:排序后的结果
* 程序头部的注释结束(此处也删除了斜杠)
#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;
    for(i=0;i<num-1;i++)
  for(j=0;j<num-1-i;j++)
   if(*(p+j+1)>*(p+j))
   {
    k=*(p+j);
    *(p+j)=*(p+j+1);
    *(p+j+1)=k;
   }
}
void output_array(int *p,int num)
{
 int j;
 for(j=0;j<num;j++)
  cout<<*(p+j)<<"  ";
 cout<<endl;
}

经验积累:
1.  一定要仔细,函数声明和函数定义不一回事,错误出现在了函数定义上;
2.分清指针变量;


上机感言:

        指针确实不好学,有些东西还是理解不了、、、、、、写这个程序之前,受了一点启发,倒是把程序给写出来了,可是没有弄清指针所指向的内容,还是出了一点错误!!!!!!课下必须得多看课本啊啊啊啊啊!!!!!



原创粉丝点击