使用STL对用户输入数组进行排序的错误有什么解决方案吗?
Is there any solution of the error of sorting user input array using STL?
我的代码是:
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
struct Interval
{
int init,last;
};
bool compare(Interval a,Interval b)
{
return (a.init < b.init);
}
int main()
{
int t,i,j;
int a[1000];
cin >> t;
for( j=0;j<t;++j){
for(i=0;i<t;i++)
{
cin >> a[i];
}
}
sort(a,a+t,compare);
for( j=0;j<t;++j)
for(i=0;i<t;i++)
{
cout<<a[i]<<" ";
}
cout<<"n";
return 0;
}
下面这条线的解决方案是什么?
sort(a,a+t,compare);
问题就在这里
bool compare(Interval a,Interval b)
{
return (a.init < b.init);
}
compare
比较Interval
对象
但
int a[1000];
sort(a,a+t,compare);
您正在尝试对int
数组进行排序。
对int
数组或Interval
数组进行排序,但要保持一致。compare
函数必须与要排序的数组匹配。
您正在尝试对int a[1000];
进行排序,这是一个int
数组,而不是一个Interval
数组。如果这确实是你的意图,那么你不需要谓词(compare
函数(进行排序。您只需使用为int
提供的默认operator<
即可。这意味着您的代码可能只是:
std::sort(std::begin(a), std::begin(a) + t);
相关文章:
- 警告处理为错误这里有什么问题
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 0-1背包代码中的错误.我的代码中有什么错误
- 是什么导致了Unity 3D中的"错误线程异常"?
- 在C++中样板"冷/never_inline"错误处理技术的最佳方法是什么?
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 你能解释一下什么运行时错误是如何解决它的吗?
- 在C++中创建队列 - 什么是 malloc 错误?
- 当我从下面的代码中删除关键字 virtual 时,它可以正常工作,否则会出现错误。在这里"virtual"字的意义是什么?
- 没有可行的过载'='错误,可能导致这种情况的原因是什么?
- 给定一个整数数组,需要在Max_Heap上运行操作。得到错误"segmentation fault",有什么想法吗?(C++)
- 这个失败的测试是将零添加到空指针未定义的行为、编译器错误还是其他什么?
- Clang 8 带有静态 constexpr 和数组的链接器错误 - 错误是什么以及如何解决它?
- 我遇到了黑客排名中的问题"TWO STRINGS"的三个测试用例的分段错误。原因是什么?
- 什么会导致LNK2019 VisualStudio中的错误?
- 导致hash_map错误的原因是什么,如何修复它?
- 使用STL对用户输入数组进行排序的错误有什么解决方案吗?
- 我正在尝试学习如何在 c++ 中传递指针,但出现错误:没有用于调用"test"的匹配函数。我做错了什么?
- 当我选择大于 720 的矩阵大小时,程序退出并显示错误代码.可能是什么原因?
- Makefile错误:什么都不做