算法导论 练习题 16.2-5

来源:互联网 发布:js 布尔值取反 编辑:程序博客网 时间:2024/06/16 07:29
#include <stdio.h>#include <stdlib.h>#define N 5typedef struct ExtentNode{int x;int y;}Ex,*pEx;int a[N]={1,3,4,6,7};bool isOverLap(int x,Ex e){if(e.x<=x && e.y>=x)return true;elsereturn false;}void greedy(pEx e){e[0].x=a[0];e[0].y=a[0]+1;for(int i=1,j=0;i<N;i++){if(!isOverLap(a[i],e[j])){j++;e[j].x=a[i];e[j].y=a[i]+1;}}}void printE(pEx e){for(int i=0;i<N;i++){if(e[i].x>0){printf("[%d,%d] ",e[i].x,e[i].y);}}}void main(){pEx e=(pEx)malloc(N*sizeof(Ex));for(int i=0;i<N;i++){e[i].x=e[i].y=-1;}greedy(e);printE(e);getchar();}

原创粉丝点击