第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><wbr><wbr>12 月<wbr><wbr><wbr><wbr><wbr>07<wbr><wbr> 日<br>
* 版 本号:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> V1<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*, int);<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>
}<br>
void output_array(int *m, int num)<br>
{<br><wbr>int i;<br><wbr>for (i=0;i<num;i++)<br><wbr> cout<<*(m+i)<<" ";<br><wbr>cout<<endl;<br><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></wbr></wbr></wbr></wbr></wbr>
运行结果:
经验积累:
1.<wbr> 用指针也可以表示数组元素。<br>
2.函数声明和自定义函数的类型相同就行,如void output_array(int*, int);可以不用加上int *p, int num。<br>
3.<br><br>
上机感言:<br>
我学会了如何简单易懂的对函数进行声名。<br></wbr>
分享到:
相关推荐
2改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序 3进一步改进的冒泡排序,如果在某次冒泡过程中,最后一次进行交换的位置为flag,则表示flag之后的序列已经有序,那么下一次冒泡就无需比较flag...
冒泡排序及其改进算法的分析与比较,曾希君,,冒泡排序算法是大家最为熟悉的排序算法之一,传统的冒泡排序算法过程很简单,并广泛应用于现在的教学及科研中,传统冒泡排序算法
VC++多线程实现三种排序算法比较----冒泡排序、快速排序、归并排序,很有意思,可以下载看看!
数据结构冒泡排序算法 数据结构冒泡排序算法
For I := 1 To N-1 Do //做N-1趟排序// begin NoSwap := True; //置未排序的标志// For J := N - 1 DownTo 1 Do //从底部往上扫描// begin If R[J+1][J] Then //交换元素// begin Temp := R[J+1]; R[J+1 := R...
冒泡算法的改进思想: 1.记录从第0下标开始一直递增的最后一个数的下标start,在以后的每趟排序中都是从start下标开始比较,免去了从头到此下标的比较 2.记录从最后一个下标开始一直递减的最后一个下标end,在以后...
设计一个双向冒泡排序算法。要求用C/C++实现。
Python 冒泡排序算法的实现 下面是 Python 冒泡排序算法的实现代码: ```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr...
排序-按键精灵-冒泡排序
C语言-改进版的冒泡排序(双向冒泡)
[7.3.1]--503冒泡和选择排序算法及分析.srt
[7.3.1]--503冒泡和选择排序算法及分析.mp4
在STM8S003单片机上实现数组排序,用3种冒泡排序法对数组进行排序,并通过串口打印排序过程。
python冒泡排序 冒泡排序_使用python实现的冒泡排序算法
该 ppt 为课程讲义,讲解冒泡排序算法原理,及用一个简单实例进行具体分析,还有冒泡排序算法原理的总结等。
数组应用及冒泡排序算法示例,适用于初学者
算法-理论基础- 排序- 原始冒泡排序(包含源程序).rar
ppt课件-冒泡排序算法.ppt
冒泡排序算法两种C语言实现方法,在VC开发环境下验证通过
TIA博途_冒泡排序SCL算法_全局FC库文件_V15版本