实验目的:学会冒泡排序算法 实验内容:实现冒泡排序算法,并将之定义为一个函数,其中参数是指向数组的指针变量
* 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:
* 作 者: 张传新 * 完成日期: 2012 年 4 月 12 日 * 版 本号: 1 * 对任务及求解方法的描述部分 * 输入描述:要排序的数据在程序中初始化 * 问题描述:实现冒泡排序 * 程序输出:排序后的结果 * 程序头部的注释结束(此处也删除了斜杠)
#include <iostream> using namespace std; void bubble_sort(int *p, int num); //排序 void output_array(int*, int);//输出排序后的数组 int 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;//i,j为控制变量,t为中间变量 for(j=0;j<=num-1;j++) { for(i=0;i<num-1-j;i++) { if(*(p+i+1)>*(p+i))//如果下一个数大于前一个数,交换位置 { t=*(p+i); *(p+i)=*(p+i+1); *(p+i+1)=t; } } } } void output_array(int*p, int num) { int i; for (i=0;i<num;i++) { cout<<*(p+i)<<" "; } cout<<endl; }
运行结果:
经验积累:冒泡排序很形象,不断地把大一点的或小一点的往前移,总会有排完的时候,
我觉得生活一样,不断把解决的问题放在后面,把新的问题,重要的问题放在前面,当
你解决完问题时,你走过的路将显示在你的脚下!!!
C++复习九 冒泡排序法
最新推荐文章于 2024-05-13 02:10:04 发布