问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:宋健
* 完成日期:2014年11月25日
* 版 本 号:v1.0
*
* 问题描述:冒泡排序
* 输入描述:
* 程序输出:
*/
#include <iostream>
using namespace std;
void bubble_sort(int arr[],int n);
void output_array(int arr[],int n);//两个函数bubble_sort和output_array的声明
int main( )
{
int a[20]= {86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76};
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;
}
//请在下面定义bubble_sort和output_array函数
void bubble_sort(int arr[],int n)
{
int i,j,m;
m=0;
for(i=0; i<n-1; i++)
{
for(j=0; j<n-1-i; j++)
{
while(arr[j]<arr[j+1])
{
m=arr[j];
arr[j]=arr[j+1];
arr[j+1]=m;
}
}
}
}
void output_array(int arr[],int n)
{
int i;
for(i=0; i<n; i++)
cout<<arr[i]<<" ";
cout<<endl;
}
运行结果:
知识点总结:
初试冒泡法排序,需要记住每次排排序和比较的次数
学习心得:
还是需要思路清晰啊,必要的时候要记住经典算法