Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2205806
  • 博文数量: 556
  • 博客积分: 11457
  • 博客等级: 上将
  • 技术积分: 5973
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 22:33
文章分类

全部博文(556)

文章存档

2013年(22)

2012年(74)

2011年(460)

分类: C/C++

2011-07-19 10:06:30

 

  1. #include<stdio.h>
  2. #include<iostream.h>

  3. void Select_Sort(int arg[],int len); //简单选择排序方法声明

  4. int main(int argc,char *argv[])
  5. {
  6.     int args[]={25,36,30,36,10,56,12};
  7.     //获取数组的长度
  8.     int len=sizeof(args)/sizeof(args[0]);
  9.      
  10.        Select_Sort(args,len);
  11.      for(int i=0;i<len;i++)
  12.      {
  13.          cout<<args[i];
  14.          cout<<endl;
  15.      }
  16.    
  17.             return 0;
  18. }

  19. void Select_Sort(int arg[],int len)
  20. {
  21.       /*对排序表arg[1]...arg[len]进行冒泡排序,len是记录个数*/
  22.      for(int i=0;i<len-1;i++) /*做n-1趟排序,特别注意此处,区别于书上*/
  23.      {
  24.           int k=i; //在i开始的n-i+1个记录中选关键码最小的记录
  25.          for(int j=i+1;j<=len;j++)
  26.              if(arg[j]<=arg[k])
  27.                  k=j; /*k中存放关键码最小记录的下标*/
  28.              if(i!=k)
  29.              {
  30.                  int temp;
  31.                     temp=arg[k];
  32.                     arg[k]=arg[i];
  33.                     arg[i]=temp;
  34.              }        
  35.      }
  36. }

备注:

/*这个问题区别于书本上的那种情况,必须得分析清楚,这个数组中arg[0]中存放着数据,
因此,再设一个临时变量temp,作为交换的中介变量*/

阅读(518) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~