/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 作 者:赵加响
* 完成日期:2013 年12 月 2 日
* 版本号: v1.0
* 输入描述:无
* 问题描述:数组的排序
* 程序输出:
*问题分析:
*/
#include <iostream>
using namespace std;
//两个函数bubble_sort和output_array的声明
void bubble_sort(int[],int);
void output_array(int[],int);
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);
output_array(a,20);
cout<<endl; //输出排序后的数组
bubble_sort(b,15);
output_array(b,15);
cout<<endl; //输出排序后的数组
return 0;
}
//请在下面定义bubble_sort和output_array函数
void bubble_sort(int a[],int n)
{
int i,min,t;
for(i=0; i<n; i++)
{
min=i;/*变量min的作用很重要,他始终记录的是最小值的下标,
在每一堂的比较中只有发现比a[min]还小的啊[j],k就记录它的下标j。
然后将a[min]与前面相应的元素交换位置。*/
for(int j=0; j<n; j++)
{
if(a[min]>a[j])
{
min=j; //假设下标为j的元素最小
}
t=a[i];
a[i]=a[min];
a[min]=t;
}
}
cout<<"排序后的数组为:"<<endl;
}
void output_array(int a[],int n)
{
int i;
for(i=0; i<n; i++)
cout<<a[i]<<" ";
}
心得: 疑问 冒泡法和选择排序法差别是什么