在做P1866题目时,需要定义一个数组。我采用的如下的方法,当n的数目较小(小于5时),运算结果都是正确的。当n的数组大了之后,对max数组快排就没有结果。
int n,max[n];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>max[i];
}
sort(max,max+n);
后来改成先输入n,再定义max就没有问题了
int n;
cin>>n;
int max[n];
for(int i=0;i<n;i++)
{
cin>>max[i];
}
sort(max,max+n);
我看很多人都是先声明数组max[51],这样在输入max的值后,进行快排。但我有个疑问,如果我声明了max后,max里面不是会赋一些初值吗?如果我进行sort的话,会不会有把一些不想要的值排进来了?