第十三周项目4-数组的排序(一)冒泡排序

来源:互联网 发布:优考试软件下载 编辑:程序博客网 时间:2024/06/10 18:16

问题及代码:

/**Copyright (c)2014,烟台大学计算机与控制工程学院*All   rights  reserved.*文件名称:main.cpp*作        者:黄艳*完成日期:2014年11月25日*版 本 号:v1.0**问题描述:用冒泡排序的方法使数组元素降序排序*输入描述:本程序不需要输入*程序输出:输出排序后的数组*/#include <iostream>using namespace std;void bubble_sort(int s[],int n);         //函数声明void output_array(int s[],int n);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;}void bubble_sort(int s[],int n){    int i,c,j;    for(j=1; j<n-1; j++)      //需进行n-1次排序    {        for(i=0; i<n-1; i++)     //冒泡,使最小的数沉淀到最后        {            if(s[i]<s[i+1])        //比较两个数,符合即交换            {                c=s[i];                s[i]=s[i+1];                s[i+1]=c;            }        }    }}void output_array(int s[],int n){    int i;    for(i=0; i<n; i++)        cout<<s[i]<<' ';    cout<<endl;}


运行结果:

0 0
原创粉丝点击