zl程序教程

您现在的位置是:首页 >  其它

当前栏目

第16周报告1:冒泡排序指针版

指针 报告 16 冒泡排序
2023-09-11 14:15:57 时间
题目:(数组的排序) 按模板中的要求,用指向数组的指针变量作为形式参数编写函数,完成冒泡排序。重点体会:(1)冒泡排序算法;(2)用指向数组的指针变量作为形式参数,用数组名(即数组的地址)作为实际参数,函数中对于形参的改变实质上也就是对实参对应内存单元的改变;(3)形式参数中不指定数组大小,实际数组的大小也一并作为参数传递。详见 指导书 实验目的:学会冒泡排序算法 实验内容:实现冒

题目:(数组的排序) 按模板中的要求,用指向数组的指针变量作为形式参数编写函数,完成冒泡排序。重点体会:(1)冒泡排序算法;(2)用指向数组的指针变量作为形式参数,用数组名(即数组的地址)作为实际参数,函数中对于形参的改变实质上也就是对实参对应内存单元的改变;(3)形式参数中不指定数组大小,实际数组的大小也一并作为参数传递。详见 指导书


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

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

/* 程序头部注释开始

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

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

* All rights reserved.

* 文件名称: bubble.cpp 

* 作 者: 贺利坚 

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

* 版 本 号: v1.0 

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

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

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

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

#include iostream 

using namespace std;

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

void output_array(int*, int);

int main( ) //不要对main函数有任何改动

 inta[20]={86,46,22,18,77,45,32,80,26,88,57,67,20,18,28,17,54,49,11,16};

 intb[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(j=0;j num-2;j++) //共进行num-1趟比较

 for(i=0;i num-j-1;i++) //在每趟中要进行num-j次两两比较

 if(*(p+i) *(p+i+1)) //如果前面的数小于后面的数

 t=*(p+i); //交换两个数的位置,使小数下沉

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

 *(p+i+1)=t;

 return;

void output_array(int *p, int num)

 int i;

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

 cout *(p+i) ",";

 cout *(p+num-1) "\n"; //我这样处理,可以使最后一个数后面不加逗号,看得更舒服

 return;

}
对于输出函数,还可以这样写:

void output_array(int *p, int num)

 int i;

 for(i=0;i num-1;i++,p++)

 cout *p ",";

 cout *p "\n";

 return;

}
相对而言,bubble_sort()函数还是照原样写好一些,其中的道理留给同学们思考吧。

同学们晕或不晕,都正常。正如很多同学感叹的:要多看书,快到期末了,到了学习效率最高的时候了,加油!

 


第十四周:*链表 第一遍没看明白也没关系,慢慢来,会慢慢看懂的。C语言的基础到这里你就都了解了,配套的课程移步去中国大学慕课看浙江大学翁恺老师的课程,那是梦的开始
public: void set_salarys( );//输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中; void add_salarys(int x); //给每个
2014秋C++第16周 项目 指针和数组、函数 课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1-数组的排序】按给定部分程序的要求,用指向数组的指针变量作为形式参数编写函数,完成排序。重点体会:(1)排序算法,可以是冒泡,也可以是选择;(2)用指向数组的指针变量作为形式参数,用数组名(
2014秋C++ 第15周项目3参考解答 在OJ上玩指针 课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。 
【项目3-在OJ上玩指针】(1)指针的基本操作(1)下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序 #include iostre
编函数,完成冒泡排序。要求不能改变下面的main函数。 重点体会:(1)排序算法;(2)数组名作形式参数,将能改变作为实际参数的数组的值,实际参数传递给形式参数的是数组的地址值,也是传值;(3)形式参数中不指定数组大小,实际数组
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8635385 【项目1-有序的结构体数组】在程序中提供了一个已经初始化的结构体,包括学生的学号、C++、高数、英语成绩。编程序,要求对结构体排序并输出。请
【项目5-数组的排序】按给定部分程序的要求,用指向数组的指针变量作为形式参数编写函数,完成排序。重点体会:(1)排序算法,可以是冒泡,也可以是选择;(2)用指向数组的指针变量作为形式参数,用数组名(即数组的地址)作为实际参数,函数中对于形参的改变实质上也就是对实参对
贺利坚 烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学