关闭

第十四周上机实践项目——选择排序

481人阅读 评论(0) 收藏 举报
分类:
/*             
*程序的版权和版本声明部分:             
*Copyright(c)2013,烟台大学计算机学院学生            
*All rights reserved.            
*文件名称:字符数组排序             
*作者:刘中林             
*完成日期:2013年 12月02日             
*版本号:v1.0             
*对任务及求解方法的描述部分:先定义一个最小值,通过循环,得到真正的最小值,依次从小到大输出
*输入描述:定义的数组         
*问题描述: 无   
*程序输出: 输出排序后的数组    
*问题分析: 无            
*算法设计:选择排序法的应用         
*/
#include <iostream>
using namespace std;
void select_sort(int arr[], int num);
void output_array(int arr[], int num);
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};
    select_sort(a,20);   //用选择排序法按降序排序a中元素
    output_array(a,20);   //输出排序后的数组
    select_sort(b,15);   //用选择排序法按降序排序b中元素
    output_array(b,15);   //输出排序后的数组
    return 0;
}
//下面定义自定义函数
void select_sort(int array[],int n) //形参array是数组名
{
    int i,j,k,t;
    for(i=0; i<n-1; i++)
    {
        k=i;  //先设第i个就为最小
        for(j=i+1; j<n; j++)
            if(array[j]<array[k])
                k=j;   //通过循环,得到k为最小
        t=array[k];    //交换a[i]和a[k]
        array[k]=array[i];
        array[i]=t;
    }
    return;
}

void output_array(int arr[], int num)
{
    int i;
    for(i=0; i<num-1; i++)
        cout<<arr[i]<<",";
        cout<<arr[num-1]<<endl;
    return;
}


*样例输出:

心得体会:最后的输出有点迷惑。。不过这样输出第一组数输出结尾没有那个多余的逗号。。怎么回事。。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:116147次
    • 积分:3612
    • 等级:
    • 排名:第9016名
    • 原创:243篇
    • 转载:0篇
    • 译文:0篇
    • 评论:101条
    最新评论