如何解决为什么这个函数在没有接收参数的情况下工作?
我在网站上看到了一个代码。我看到一个函数接收两个参数,但是当调用这个函数时,这里没有传递任何参数。我无法理解这里到底发生了什么。
我的问题是这个函数是如何工作的?
sort(arr,arr+n,Sort_activity); 这里 sort_activity 是一个函数。
完整代码如下:
#include <bits/stdc++.h>
using namespace std;
#define N 6
struct Activity
{
int start,finish;
};
**bool Sort_activity(Activity s1,Activity s2)
{
return (s1.finish< s2.finish);
}**
void print_Max_Activities(Activity arr[],int n)
{
sort(arr,Sort_activity);
cout<< "Following activities are selected \n";
int i = 0;
cout<< "(" <<arr[i].start<< "," <<arr[i].finish << ")\n";
for (int j = 1; j < n; j++)
{
if (arr[j].start>= arr[i].finish)
{
cout<< "(" <<arr[j].start<< ","<<arr[j].finish << ") \n";
i = j;
}
}
}
int main()
{
Activity arr[N];
for(int i=0; i<=N-1; i++)
{
cout<<"Enter the start and end time of "<<i+1<<" activity \n";
cin>>arr[i].start>>arr[i].finish;
}
print_Max_Activities(arr,N);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。