用C++ 定义长度为10的整型数组,通过键盘输入为数组元素依次赋值,然后按照从小到

如题所述

冒泡排序:(还有直接插入排序、直接选择排序、分类排序等等,自己可以百度琢磨,总结这几种排序方法,然后加到自己的“算法库”;不断扩充自己“算法库”才能不断进步,加油)
#include<iostream>
using namespace std;
int main()
{
int a[10];
for(int i=0;i<10;i++)
cin>>a[i];//*依次输入10个数*//
bool flag=true;//*设置提前结束开关*//
int j,k,r;//*j控制外循环,k控制内循环,r作为交换用的暂存区*//
for(j=0;j<9;j++)//*排序*//
{
for(k=0;k<9-j;k++)
if(a[k]>a[k+1])
{
r=a[k];
a[k]=a[k+1];
a[k+1]=r;
flag=false;
}
if(flag)break;//*本趟排序未发生交换,提前结束算法*//
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-09
//用C++ 定义长度为10的整型数组,通过键盘输入为数组元素依次赋值,然后按照从小到大顺序输出
#include<iostream.h>
void main()
{
int array[10];
for(int i=0;i<10;i++)
{
cout<<"array["<<i<<"]=";cin>>array[i];
}
//排序
int t;
for(int j=0;j<9;j++)
{
for(int k=j;k<10;k++)
{
if(array[j]>array[k])
{
t=array[j];
array[j]=array[k];
array[k]=t;
}
}
}
//输出排序
for(int m=0;m<10;m++)
{
if(m%5==0&&m!=0)
cout<<endl;
cout<<array[m]<<" ";
}
cout<<endl;
}
第2个回答  2011-04-09
这样简单^_^
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int nv[10];
for(int i =0; i <10; i++)
{
cin >> nv[i];
}
sort(nv, nv + 10);
for(i = 0; i< 10; i ++)
{
cout << nv[i] << " ";
}
cout << endl;
return 0;
}
第3个回答  2011-04-09
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
int nv[10];
for(int i =0; i <10; i++)
{
cin >> nv[i];
}
vector<int> v(nv,nv+10);
sort(v.begin(),v.end());
for(i = 0; i< 10; i ++)
{
cout << v[i] << " ";
}
cout << endl;
return 0;

}