- #include<stdio.h>
- #include<iostream.h>
- void Select_Sort(int arg[],int len); //简单选择排序方法声明
- int main(int argc,char *argv[])
- {
- int args[]={25,36,30,36,10,56,12};
- //获取数组的长度
- int len=sizeof(args)/sizeof(args[0]);
-
- Select_Sort(args,len);
- for(int i=0;i<len;i++)
- {
- cout<<args[i];
- cout<<endl;
- }
-
- return 0;
- }
- void Select_Sort(int arg[],int len)
- {
- /*对排序表arg[1]...arg[len]进行冒泡排序,len是记录个数*/
- for(int i=0;i<len-1;i++) /*做n-1趟排序,特别注意此处,区别于书上*/
- {
- int k=i; //在i开始的n-i+1个记录中选关键码最小的记录
- for(int j=i+1;j<=len;j++)
- if(arg[j]<=arg[k])
- k=j; /*k中存放关键码最小记录的下标*/
- if(i!=k)
- {
- int temp;
- temp=arg[k];
- arg[k]=arg[i];
- arg[i]=temp;
- }
- }
- }
备注:
/*这个问题区别于书本上的那种情况,必须得分析清楚,这个数组中arg[0]中存放着数据,
因此,再设一个临时变量temp,作为交换的中介变量*/
阅读(529) | 评论(0) | 转发(0) |