我希望即使在sort()完成后,我的数组也能保持基于1的索引。我的下面的代码在最后一个索引处为我提供了一个垃圾值,i = n
因为for(int i = 0; i < n; i++)
在排序完成后,在打印代码时本应循环执行。
有没有一种方法可以使用std :: sort()并仍然保持基于1的索引?
int n;
cin>>n; // 6
int a[n+1];
for(int i = 1; i <= n; i++)
cin>>a[i]; // INPUT ARRAY: 6 4 2 7 2 7
sort(a,a+n+1);
for(int i = 1; i <= n; i++)
cout<<a[i]<<" "; // OUTPUT AFTER SORTING: 2 4 6 7 7 6421920
好吧,仅从索引1开始排序。
std::sort(a+1,a+n+1);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句