Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 我可以用c++;使用stl排序 我试图用C++中的STL排序来排序一个结构。但是我犯了一些错误。我们不能用STL排序来对C++中的结构进行排序,还是在实现中是我的错,如果它的错误让我知道了校正。_Sorting_Stl_Structure - Fatal编程技术网

Sorting 我可以用c++;使用stl排序 我试图用C++中的STL排序来排序一个结构。但是我犯了一些错误。我们不能用STL排序来对C++中的结构进行排序,还是在实现中是我的错,如果它的错误让我知道了校正。

Sorting 我可以用c++;使用stl排序 我试图用C++中的STL排序来排序一个结构。但是我犯了一些错误。我们不能用STL排序来对C++中的结构进行排序,还是在实现中是我的错,如果它的错误让我知道了校正。,sorting,stl,structure,Sorting,Stl,Structure,下面是代码(非常小:)) #包括 #包括 使用名称空间std; 结构日志{ 国际标准差; int-ed; }对数[1000]; 布尔键(整数i,整数j){ 返回(log[i].ed>n; 排序(log,log+n,key); 对于(i=0;i>log[i].sd>>log[i].ed; 对于(i=0;i<p>是的,你可以。但是,你的比较器应该采用两个代码> const log和(不是 int >代码>)参数。我是C++初学者,可以告诉我更多的地方,我应该把“conlog & &”@ MANASV

下面是代码(非常小:))

#包括
#包括
使用名称空间std;
结构日志{
国际标准差;
int-ed;
}对数[1000];
布尔键(整数i,整数j){
返回(log[i].ed>n;
排序(log,log+n,key);
对于(i=0;i>log[i].sd>>log[i].ed;

对于(i=0;i<p>是的,你可以。但是,你的比较器应该采用两个代码> const log和<代码>(不是<代码> int >代码>)参数。我是C++初学者,可以告诉我更多的地方,我应该把“conlog & &”@ MANASVARMA <代码> BoOL KEY(const log & a,const log & b){返回(AED < B.ED);} /Cudio> BTW。大多数人更喜欢使用函子。(函数对象),而不是在这种情况下的正则函数,尽管后者也适用。我使用了编辑,如您所说的,但它仍然会给出错误:“8预期代码< >,或……在‘and’令牌之前”,还有更多的错误,如“a”,“b”未声明,“8代码> ISO C++禁止声明“< /代码> log”,没有类型。,等等!!!@ManasVerma哦,你应该重命名你的结构或数组。使用相同的名称会混淆编译器。
#include<iostream>
#include<algorithm>
using namespace std;
struct log {
       int sd;
       int ed;
} log[1000];
bool key(int i,int j) {
 return (log[i].ed<log[j].ed);
}
int main() {
int n,i;
cin>>n;
sort(log,log+n,key);
for (i=0;i<n;i++) cin>>log[i].sd>>log[i].ed;
for (i=0;i<n;i++) cout<<log.sd<<","<<log.ed<<endl;
system("PAUSE");
}