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