SOURCE

function sort(arr, earl) {
    var count = 0;
    for (var i = 0; i < arr.length; i++) {
        if (earl > arr[i].end) {
            earl = arr[i].end;
            count = i;
        }
    }
    return count;
}
function arrange(arr, a, t) {
    var previous = t;
    a.push(arr[previous]);
    var earl = 24, count = 0, flag = [];
    flag[t] = false;
    while (earl != 0) {
        for (var i = 1; i < arr.length; i++) {
            if (arr[i].start >= arr[previous].end) {
                flag[i] = true;
            }
            else {
                flag[i] = false;
            }
        }
        earl = 24;
        for (var i = 0; i < arr.length; i++) {
            if (flag[i]) {
                if (earl > arr[i].end) {
                    earl = arr[i].end;
                    count = i;
                }
            }
        }
        if (previous == count)
            earl = 0;
        else {
            a.push(arr[count]);
            previous = count;
        }
    }
}
var course = [{
    name: '高数',
    start: 8,
    end: 9.5
}, {
    name: '电子商务',
    start: 8.5,
    end: 10
}, {
    name: '数据结构',
    start: 9.5,
    end: 12
}, {
    name: '计算机基础',
    start: 10,
    end: 11
}, {
    name: 'C语言',
    start: 11.5,
    end: 12.5
}];
var earl = 24;
var a = [];
var temp = sort(course, earl);
arrange(course, a, temp);
console.log("安排的课程数有:" + a.length);
console.log("课程为:");
for (var i = 0; i < a.length; i++) {
    console.log(a[i].name);
}
console 命令行工具 X clear

                    
>
console