c++选择排序法
2013-10-24 10:46
302 查看
选择排序法的原理是:对于一行要排序的数,设一个变量保存要排序的数中的第一个数的下标,然后依此比较这个变量所存储的下标的这个数和后面所有剩余的数比较大下,如果后面有数小于(或者大于)这个变量所存储的这个下标所代表的的这个数,就交换彼此的下标。第一趟比较完之后最大的(最小的)数就成为这行要排列的数中的第一个。然后比较第二趟,.....第n-1趟。
就是如果有n个数比较大小,则进行n-1趟的比较,第j趟进行n-j次比较。
下面是一个存储十个元素的一位数组中的数按照从小到大的顺序排列大小。
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,k,t,a[10];
cout<<"enter"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<"sorted:"<<endl;
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(a[j]<a[k])
k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
cout<<"input:"<<endl;
for(i=0;i<10;i++)
{
cout<<a[i];
}
cout<<endl;
return 0;
}
就是如果有n个数比较大小,则进行n-1趟的比较,第j趟进行n-j次比较。
下面是一个存储十个元素的一位数组中的数按照从小到大的顺序排列大小。
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,k,t,a[10];
cout<<"enter"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<"sorted:"<<endl;
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(a[j]<a[k])
k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
cout<<"input:"<<endl;
for(i=0;i<10;i++)
{
cout<<a[i];
}
cout<<endl;
return 0;
}
相关文章推荐
- 关于指针的一些事情
- 开始使用 Roland 吧,一款命令行随机选择工具
- 如何选择路由协议
- 接入路由器的几种选择
- C/C++数据对齐详细解析
- C++中引用的使用总结
- C++中引用(&)的用法与应用实例分析
- 解析C++ 浮点数的格式化输出
- 深入分析C++中几个最不常用的关键字
- c++中inline的用法分析
- 深入解析C++ Data Member内存布局
- 从汇编看c++中默认构造函数的使用分析
- 关于C++中的友元函数的一些总结
- C++的sstream标准库详细介绍
- 基于C++自动化编译工具的使用详解
- 浅谈C++中的string 类型占几个字节
- C/C++ 宏详细解析
- 深入分析C++中两个大数相乘结果不正确的问题
- 探讨C++中数组名与指针的用法比较分析
- 深入解析C++中的引用类型