数组的排序 选择排序法

/*
* 程序的版权和版本声明部分
* 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]<<" ";
}


心得: 疑问  冒泡法和选择排序法差别是什么

 

posted on 2013-12-03 12:20  我的小人生  阅读(352)  评论(0编辑  收藏  举报