vector 和 数组 排序问题
// 龙马精神.cpp : 定义控制台应用程序的入口点。//
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <vector>
#include <iomanip>
using std::vector;
using std::cout;
using std::cin;
using std::endl;
void paixu(double &a,double &b);
int _tmain(int argc, _TCHAR* argv[])
{
srand(time(NULL)); //生成随机数
vector<double> vip(10); //一个容器
for(int i=0;i<10;i++) //生成几个随机数储存到容器中
vip[i]=rand()%20;
for(int i=0;i<10;i++) //把容器中的数字输出到屏幕
cout<<std::setw(5)<<vip[i];
cout<<endl;
for(int i=0;i<9;i++) //给容器中的数字排序
for(int i=0;i<9;i++)
paixu(vip[i],vip[i]);
for(int i=0;i<10;i++) //再次输出容器中的数字到屏幕,可是排序没体现出作用,还是第一次数字的顺序。
cout<<vip[i]<<endl;
int num=0;
cin>>num;
return 0;
}
void paixu(double &a,double &b){ //排序函数
double c;
if(a>b)
{
c=a;
a=b;
b=c;
}
};
我用的容器,想给数字排序, 可是一点效果都没有,用数组就能。
想问下容器怎么不行。下面是数组的代码 我用的是 vs2010
一言九鼎.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <iomanip>
using std::cout;
using std::cin;
using std::endl;
void px(int &a,int &b);
int _tmain(int argc, _TCHAR* argv[])
{
srand(time(NULL));
int num[10];
for(int i=0;i<10;i++)
{
num[i]=rand()%90;
cout<<std::setw(5)<<num[i];
}
cout<<endl;
for(int i=0;i<9;i++)
for(int i=0;i<9;i++)
px(num[i],num[i+1]);
for(int i=0;i<10;i++)
cout<<std::setw(5)<<num[i];
cout<<endl;
int boy=0;
cin>>boy;
return 0;
}
void px(int &a,int &b){
int c;
if(a<b)
{
c=a;
a=b;
b=c;
}
};