首页 > 解决方案 > 为什么这个函数在没有接收参数的情况下工作?

问题描述

我在网站上看到了代码。我看到一个接收两个参数的函数,但是当调用这个函数时,这里没有传递任何参数。我无法理解这里到底发生了什么。

我的问题是这个功能是如何工作的?

排序(arr,arr+n,排序活动);这里 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, arr+n, 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; 
}

标签: c++functiongreedy

解决方案


推荐阅读