14--4--2选择法排数字

来源:互联网 发布:淘宝运费险价格表 编辑:程序博客网 时间:2024/05/17 02:42
/**程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:纪丽娜*完成日期:2013年 12月1号*版本号:v1.0*对任务及求解方法的描述部分:*输入描述: 无*问题描述:输入若干个数,进行排序*程序输出:排序后的若干个数*问题分析:选择法*算法设计:*/#include <iostream>using namespace std;void bubble_sort(int a[],int n);void output_array(int a[],int n);//两个函数bubble_sort和output_array的声明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 a[],int n){    int i,j,k, t;      for(i=0; i<n-1; i++)      {         for(j=i+1; j<n; j++)  {   k=i;   if(a[j]<a[k])   k=j;                t=a[j];    //交换a[i]和a[j]             a[j]=a[k];            a[k]=t;}    }  }void output_array(int a[],int n){    int i;    for(i=0;i<n;i++)   {       cout<<a[i]<<" ";   }    cout<<endl;}


终于,终于。。。明白两种排序法的不同了。头都疼了。。。哎╮(╯▽╰)╭

还是写出来吧。。。

冒泡永远是两个相邻的下标相比例如:a[1],与a[2]。而选择是改变a[0]里存的值,与a[1]以后的比较。这就是两者的不同,我觉得选择法更简单,虽然我理解他花了比冒泡法长的时间。。。。喵。。。。

原创粉丝点击