编辑代码

#include <iostream>
using namespace std;
#define RANGE 15

struct t
{
    int hour;
    int min;
};

struct clas
{
    bool i;
    char name[20];
}

void greed_select(t start[], t end[], int length, clas isArrange[])
{
    isArrange[0].i = true;
    int previous = 1;
    for (int i = 2; i < length; i++) {
        if ((start[i].hour > end[previous].hour) || ((start[i].hour = end[previous].hour) && (start[i].min > end[previous].min))
        {
            isArrange[i].i = true;
            previous = i;
        }
        else
            isArrange[i].i = false;
    }

    for (int i = 1; i < length; i++) {
        if (isArrange[i].i)
            cout << "课程:" << isArrange[i].name << endl;
    }
}

int main() {
    t start[] = { {8,0},{8,30},{9,30},{10,0},{11,30} };
    t end[] = { {9,30},{10,0},{12,0},{11,0},{12,30} };
    clas isArrange[RANGE];
    greed_select(start, end, sizeof(start) / sizeof(clas),isArrange);
    return 0;