【项目4 - 数组的排序】

来源:互联网 发布:网络鉴黄师招聘 编辑:程序博客网 时间:2024/05/22 17:41
函数,完成冒泡排序。要求不能改变下面的main函数。

重点体会:(1)排序算法;(2)数组名作形式参数,将能改变作为实际参数的数组的值,实际参数传递给形式参数的是数组的地址值,也是传值;(3)形式参数中不指定数组大小,实际数组的大小也一并作为参数传递。

#include <iostream>using namespace std;//两个函数bubble_sort和output_array的声明 void bubble_sort(int a[],int n) { int mid;    for(int i=0;i<n;i++)for(int j=i+1;j<n;j++){if(a[i]<a[j]){mid=a[i];a[i]=a[j];a[j]=mid;}} }  void output_array(int a[],int n)  {  for(int i=0;i<n;i++)  {cout<<"a["<<i<<"]="<<a[i]<<"    ";if((i+1)%5==0)cout<<endl;  }  }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);    cout<<endl;    cout<<endl;   //输出排序后的数组    bubble_sort(b,15);   //用冒泡法按降序排序b中元素   output_array(b,15);   //输出排序后的数组    return 0;}//请在下面定义bubble_sort和output_array函数


经过确认,这个是选择法,应该是最直接的方法吧。。至少我之前没有经历过什么算法,第一感觉想到这个方法了。。。

原创粉丝点击