2015-12-18 第十六周 排序

来源:互联网 发布:java开发环境哪个好用 编辑:程序博客网 时间:2024/06/05 03:13

1.问题及代码

冒泡法:

#include<iostream>  using namespace std;  int main()  {      int a[50]={57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7};      int i=0,j=12,t;      while(i<12)      {                    while(j>i)          {              if(a[j]<a[j-1])              {                  t=a[j];                  a[j]=a[j-1];                  a[j-1]=t;              }              j--;          }          j=12;          i++;      }      i=0;      while(i<12)      {          cout<<a[i]<<' ';          i++;      }      return 0;  }  
直接选择法:

#include<iostream>  using namespace std;  int main()  {      int a[50]={57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7};      int i=0,j=0,k;      while(i<11)      {          k=i;          j=i+1;          while(j<12)          {              if(a[k]>a[j])              {                  k=j;              }              j++;          }          if(i!=k)          {              int t;              t=a[i];              a[i]=a[k];              a[k]=t;          }          i++;      }      i=0;      while(i<12)      {          cout<<a[i]<<' ';          i++;      }      return 0;  }  
插入法:

#include<iostream>  using namespace std;  int main()  {      int a[50]={57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7};      int i=1,j=0;      while(i<12)      {          j=i-1;          while(j>=0)          {              if(a[j]>a[j+1])              {                  int t;                  t=a[j+1];                  a[j+1]=a[j];                  a[j]=t;              }              j--;          }          i++;        }      i=0;      while(i<12)      {          cout<<a[i]<<' ';          i++;        }      return 0;  }  




2.运行结果


3.知识总结

  排序。

4.运行结果

0 0
原创粉丝点击