第16周报告1(任务2):
实验目的:学会冒泡排序算法
实验内容:实现冒泡排序算法,并将之定义为一个函数,其中参数是指向数组的指针变量
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br>
* 作<wbr><wbr><wbr> 者:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>雷恒鑫<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br>
* 完成日期:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 2011年<wbr><wbr><wbr><wbr>12<wbr><wbr> 月<wbr><wbr><wbr><wbr><wbr>05<wbr><wbr> 日<br>
* 版 本号:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br><br>
* 对任务及求解方法的描述部分<br>
* 输入描述:要排序的数据在程序中初始化<br>
* 问题描述:实现冒泡排序<br>
* 程序输出:排序后的结果<br>
* 程序头部的注释结束(此处也删除了斜杠)<br>
#include <iostream><br>
using namespace std;<br>
void bubble_sort(int *p, int num);<wbr> //不要对自定义函数的声明有任何改动<br>
void output_array(int *m, int num);<br>
int main( )<wbr><wbr> //不要对main函数有任何改动<br>
{<br>
int a[20]={86,46,22,18,77,45,32,80,26,88,57,67,20,18,28,17,54,49,11,16};<br>
int b[15]={27,61,49,88,4,20,28,31,42,62,64,14,88,27,73};<br>
bubble_sort(a,20);<wbr><wbr> //用冒泡法按降序排序a中元素<br>
output_array(a,20);<wbr><wbr> //输出排序后的数组<br>
bubble_sort(b,15);<wbr><wbr> //用冒泡法按降序排序b中元素<br>
output_array(b,15);<wbr><wbr> //输出排序后的数组<br>
return 0;<br>
}<br>
//下面定义自定义函数<br>
void bubble_sort(int *p, int num)<br>
{<br><wbr>int i,j,t;<br><wbr><wbr><wbr> for (j=0;j<num;j++)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> for(i=0;i<num-1-j;i++)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> if (p[i]<p[i+1])<br><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> t=p[i+1];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> p[i+1]=p[i];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> p[i]=t;<br><wbr><wbr><wbr><wbr> }<br><wbr><wbr><wbr><wbr><wbr> return;<br>
}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
void output_array(int*m, int num)
{
<wbr>int i;<br><wbr>for (i=0;i<num;i++)<br><wbr> cout<<m[i]<<" ";<br><wbr>cout<<endl;<br><wbr>return;<br>
}<br><br>
运行结果:</wbr></wbr></wbr></wbr></wbr>
经验积累:
1.<wbr> 指针变量做形参和数组及整型变量做形参差不多。<br>
2.<br>
3.<br><br>
上机感言:<br>
C++前后内容都是相通的。<br><br></wbr>
分享到:
相关推荐
数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量
指针数组为字符串排序,char* str[] = { "beijing","guangdong","shanghai" };进行排序,内涵冒泡排序和快速排序,原理:更改指针指向
因为p是个不可知的表示,只存在p[0]、p[1]、p[2]...p[n-1],而且它们分别是指针变量可以用来存放变量地址。但可以这样 *p=a; 这里*p表示指针数组第一个元素的值,a的首地址的值。 如要将二维数组赋给一指针数组: int ...
c语言指针数组 ... 数组指针的意思即为通过指针引⽤数组,p先和*结合,说明了p是⼀个指针变量,指向⼀个⼤⼩为5的数组。 所以,int(*p)[5即为⼀个数组指针。int *p[5]则是⼀个⼤⼩为5且存放整型指针的数组。
自己学习过程中记录的一些信息,可能不全C语言学习笔记变量数组指针C语言学习笔记变量数组指针C语言学习笔记变量数组指针C语言学习笔记变量数组指针C语言学习笔记变量数组指针C语言学习笔记变量数组指针
#include using namespace std;... //结构体变量名定义 int day; int year; }; struct teacher { int num; char name[20]; struct date birthday; //结构体的嵌套定义 int salary; char addr[30]; };...
S7-200SMART冒泡排序-优化版(可选择升序降序及数据类型等)
彻底理解指针,指针数组和数组指针,指针函数和函数指针.doc
使用指针指向数组元素,完成数组元素的输入,并实现冒泡排序。 示例代码 #include main() { int n,i,j,k,x,a[10]; int *p=a; for(i=0;i;i++) scanf("%d",p+i); for(k=1;k;k++) for(j=9,i=0;i<10-k;i++,j--) 5-2 ...
第9章 指针和数组——指针数组的应用:命令行参数C语言程序设计第9章 指针和数组命令行参数什么是命令行参数(Command Line Arguments)?GU
实验与指导-数组指针字符串 指针与数组区别
本题希望通过回调函数,定义一个冒泡排序函数,可以根据函数指针指向不同的比较函数,分别实现从大到小和从小到大的排序。 希望通过这道题目,可以帮助大家理解函数指针与回调函数。本题较为简单,仅能处理整数的...
程序设计基础徐明星w07-讨论-4-数组-指针-函数.ppt
关于数组指针和指向数组指针的指针及其new的一些个人理解及其小例子,详细可以参见我的CSDN博客中的文章http://blog.csdn.net/shizhixin/article/details/7050592
程序设计基础徐明星w-讨论-数组-指针-函数PPT课件.pptx
301-用指针数组作为函数的参数显示多个字符串(51单片机C语言实例Proteus仿真和代码)301-用指针数组作为函数的参数显示多个字符串(51单片机C语言实例Proteus仿真和代码)301-用指针数组作为函数的参数显示多个字符串...
数组指针和指针数组的区别
单片机C语言实例--301-用指针数组作为函数的参数显示多个字符串.zip
用c++做的例子,利用指针数组冒泡法排序
指针与二维数组 数组指针 指针数组 多级指针