第1个回答 2010-05-09
#include <iostream>
#define LEN 50
using namespace std;
int main(){
int nArray[LEN];
for(int i=0;i<LEN;i++)nArray[i]=LEN-i;
cout<<"原始数据为:"<<endl;
for(int i=0;i<LEN;i++)cout<<nArray[i]<<" ";
cout<<endl;
//开始冒泡
{
int temp;
for(int i=LEN-1;i>0;i--)
for(int j=0;j<i;j++){
if(nArray[j]>nArray[j+1]){
temp=nArray[j];
nArray[j]=nArray[j+1];
nArray[j+1]=temp;
}
}
}
//结束冒泡
cout<<"排序结果:"<<endl;
for(int i=0;i<LEN;i++)cout<<nArray[i]<<" ";
return 0;
}
第3个回答 2010-05-09
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
int arry[50],i=0;
cout<<"shu ru shu zi"<<endl; //输入数字
for(i=0;i<50;i++)
{cin>>arry[i];}
sort(arry,arry+50); //排序
for(i=0;i<50;i++);
{cout<<arry[i]<<endl;}
}
第4个回答 2010-05-09
#include<iostream>
#include<iomanip>
#include<ctime>
using namespace std;
//快排
void quicksort(long a[],long f,long l)
{
long mid,tmp,i,j,random;
srand((unsigned)time(NULL));
random=int(rand()%(l-f))+f;
mid=a[random];
i=f;j=l;
do
{
while(a[i]<mid) i++;
while(a[j]>mid) j--;
if(i>j) break;
if(a[i]>=a[j]) {tmp=a[i];a[i]=a[j];a[j]=tmp;i++;j--;}
}while(i<=j);
if(i<l) quicksort(a,i,l);
if(j>f) quicksort(a,f,j);
}
int main()
{
long n,i,a[110];
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
quicksort(a,1,n);
for(i=1;i<=n;i++)
cout<<a[i]<<" ";
}
第5个回答 2010-05-09
// 用C++编写一程序,输入50个数,将他们从小到大排列后输出
//
http://www.wxw12345.cn#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
// 欲排序的数字个数 为了方便调试 可定义为一个比较小的数
#define NUM 50
// 欲排序的数字类型
#define TYPE double
int main()
{
vector <TYPE> ivector;
int i=0;
TYPE dTmp=0;
cout<<"请依次输入"<<NUM<<"个欲排序数:"<<endl;
for (i=0; i<NUM; i++)
{
cin>>dTmp;
ivector.push_back(dTmp);
}
// 升序排序
sort(ivector.begin(),ivector.end());
cout<<"排序后结果如下:"<<endl;
// 输出
copy(ivector.begin(),ivector.end(),ostream_iterator<TYPE>(cout," "));
cout<<endl;
return 0;
}
参考资料:http://www.wxw12345.cn