南京师范大学2003-2011地理信息系统考研专业一试题(3)
本站小编 免费考研网/2015-08-16
}
4、请写出判断“点是否在简单多边形内部”的算法。(本题20分)
//相对正确的解题思路:从该点向某一个方向做一条射线,如果与多边形相交的点是奇数个,则在多边形内;否则,可能在多边形内。
//不太正确的解题思路:如果一个点在一个多边形内,那么从该点向上、向下、向左、向右都应与简单
//多边有交点,点在某一条边上算在多边形内(下面的程序代码也有问题)。
#include<stdio.h>
#define N 10
typedef struct Node
{
float x;
float y;
}XYNode,Nodes[N+1];
void main()
{
int i,up=0,down=0,left=0,right=0;
int x0,x1,x2,y0,y1,y2;
char flag = 'Y';
XYNode point;
Nodes a;
for(i=0;i<N;i++)
{
printf("please input the %dst coordinate:",i+1);
scanf("%f,%f",&a[i].x,&a[i].y);
}
a[N].x = a[0].x; //使起点和终点的坐标相同
a[N].y = a[0].y;
while(flag!='n' && flag !='N')
{
printf("Now, please input the Point's coordinate:");
scanf("%f,%f",&point.x,&point.y);
for(i=0;i<N;i++)
{
if((a[i].x>point.x && a[i+1].x<=point.x)||(a[i].x<point.x && a[i+1].x>=point.x))
{
x1 = a[i].x;
y1 = a[i].y;
x2 = a[i+1].x;
y2 = a[i+1].y;
x0 = point.x;
y0 = (y1-y2)*(x0-x1)/(x1-x2) + y1;
if(y0==point.y)
{
up =1; down = 1; left = 1; right = 1;
break;
}
else if(y0>point.y)
up = 1;
else
down = 1;
}//if
if((a[i].y>point.y && a[i+1].y<=point.y)||(a[i].y<point.y && a[i+1].y>=point.y))
{
x1 = a[i].x;
y1 = a[i].y;
x2 = a[i+1].x;
y2 = a[i+1].y;
y0 = point.y;
x0 = (x1-x2)*(y0-y1)/(y1-y2) + x1;
if(x0==point.x)
{
up =1; down = 1; left = 1; right = 1;
break;
}
else if(x0>point.y)
right = 1;
else
left = 1;
}//if
}//for
if(up && down && left && right)
printf("Yes,the point is in the polygon.\n");
else
printf("No,the point is not in the polygon.\n");
while(getchar()!='\n'); //接收多余的字符
printf("would you like to go on?<Y/N>");
flag = getchar(); //flag只接收第一个字符
while(getchar()!='\n'); //接收多余的字符
}//while
}
5、从平均时间、最坏情况,辅助存储和稳定性的角度,对各种内部排序方法进行比较。
(建议用表格方式进行比较,本题20分)
严蔚敏数据结构289页
6、定义一个双向循环链表,并写出其定位、插入和删除算法。(本题20分)
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
typedef int Status;
typedef int ElemType;
typedef struct DuLNode
{
ElemType data;
struct DuLNode *prior;
struct DuLNode *next;
}DuLNode,*DuLinkList;
Status GetElem_DuL(DuLinkList L,int i,ElemType *e)
{
int j = 1;
DuLNode *p;
p = L->next;
while(p!=L && j<i)
{
p = p->next;
j++;
}
if(p==L || j!=i)
return ERROR;
*e = p->data;
return OK;
}
Status ListInsert_DuL(DuLinkList &L,int i,ElemType e)
{//在带头结点的双链循环链表L中第i个位置之前插入元素e
//i的合法位置为1<=i<=表长+1
int j;
DuLNode *p,*s;
if(i<1) //如果i的值小于1,则返回错误
return ERROR;
j = 1;
p = L->next;
while(p!= L && j<i)
{
p = p->next;
j++;
}
if(j<i) //查找完循环链表后,如果j<i,则表明i的位置不合法
return ERROR;
if(!(s = (DuLNode *)malloc(sizeof(DuLNode))))
return ERROR;
s->data = e;
s->prior = p->prior;
p->prior->next = s;
s->next = p;
p->prior = s;
return OK;
}
Status ListDelete_DuL(DuLinkList &L,int i,ElemType *e)
{//删除带头结点的双链循环线性表L的第i个元素,i的合法位置为1<=i<=表长
int j;
DuLNode *p;
if(i<1)
return ERROR;
j = 1;
p = L->next;
while(p!=L && j<i)
{
p = p->next;
相关话题/地理
2001-2008年西南大学人文地理学考研真题
2001年人文地理学 一、 名词解释(15) 1、中东 2、地理大发现 3、大洋洲 4、尼罗河 5、巴黎盆地 二、 简述题(20) 1、世界地理环境结构的地域分异规律 2、战后科技革命对世界经济发展和产业分布的影响 三、 填图题(图) 在图上填出(15) 1、统一后的德国国界和国名(1) ...专业课考研资料 本站小编 免费考研网 2015-08-09华南师范大学人文地理学2002-2011历年考研真题(附答案)
华南师范 大学 2011 硕士 研究生招生入学考试试卷 人文地理学 一、名词解释(每题 5 分,共 30 分) 1、因子生态分析法 2、容积率和建筑密度 3、城市发展的经济基础原理 4、产业集群 5、集聚与扩散 6、旅游规划 二、简答题(70 分) 1、请简述我国的区域空间规划体系。(15 分) ...专业课考研资料 本站小编 免费考研网 2015-07-22湖南师范大学经济地理学复试资料(整合)
第一章 绪论 何谓经济地理学? 答:经济地理学是研究经济活动区位、空间组织及其地理环境相关系的学科。 试述经济地理学的研究对象。 答:经济地理学的研究对象包括:经济活动的内容、区位、空间 ...专业课考研资料 本站小编 免费考研网 2015-07-222013年兰州大学818现代地理学(含自然地理学、经济地理学)+考研试题(回忆版)
2013年兰州大学818现代地理学(现代地理学(含自然地理学、含自然地理学、经济 地理学) 地理学) 考研试题) 考研试题(考研试题(回忆版)回忆版) 一、名词解释(每题6分) 1、不整合 2、干洁空气 3、锋 4、雪线 5、黄土 6、土壤质地 7、生态系统 8、隐域性 二、简答题(每题8分) 1、岩石的结构与构造 2、沉积岩的基本 ...专业课考研资料 本站小编 网络资源 2015-07-16人文地理学 赵荣等 高等教育出版社(答案)
第一章 绪论 1、 人文地理学在地理学中的地位和作用。 人文地理学是以人地关系的理论为基础,探讨各种人文现象的地理分布、扩散和变化,以及人类社会活动的地域结构的形成和发展规律的一门学科。又称人生地理学。它是地理学的两个主要分支学科之一,人文二字与自然地理学的自然二字相对应 ...专业课考研资料 本站小编 免费考研网 2015-07-16西北大学2015中国历史地理学考题
西北大学2015中国历史地理学考题 一、名词解释 沿革地理学 地理环境决定论 新秦中 陈桥驿 统万城 关西和关东 二、简答题 1、简述中国历史时期人口变化特点及其影响。 2、简述毛乌素沙漠的形成原因。 3、简述中国历史上东西对峙的原因。 三、论述题 1、论述中国历史时期气候变迁及其影响。 2、论述安阳成为中国七大古都 ...专业课考研资料 本站小编 网络资源 2015-07-15西北师范大学2011年,2012年自然地理试题
2010 一名词解释 1沉积建造 2米兰科维奇理论 3水分循环 4土壤肥力 5趋同适应 6洪积扇 7正断层 8海陆风 二简答题 1分析气候与生物对土壤形成的作用与影响 2简要分析我国西北干旱气候的形成原因. 3分析对比准平原和山麓面的形成过程. 4简述农业生态系统的特点. 5简述冰川对地理环境的影响 6简要分析地球自转的 ...专业课考研资料 本站小编 免费考研网 2015-07-01中科院寒旱所2007-1997硕士入学考试真题 [自然地理]
自然地理学 1997年硕士研究生入学考试题 一、名词解释 1、沉积相与沉积韵律 2、气旋与反气旋 3、土壤与土地 4、径流系数与径流模数(写出单位) 5、生物群落与生态系统 二、回答问题 1、 季风环流是怎样形成的?简述热带季风气候、副热带季风气候和温带季风气候各自发育的区域和气候特点。(13分) 2、 自然带在空间 ...专业课考研资料 本站小编 免费考研网 2015-07-01中科院寒旱所2006自然地理学考博试题答案
自然地理学 一、名词解释 1、季风 2、水循环 3、大气环流 4、洋流 5、生态系统 季风:大陆和海洋间的广大地区,以一年为周期、随着季节变化而方向相反的风系,称为季风。季风是海陆间季风环流的简称,它是由大尺度的海洋和大陆间的热力差异形成的大范围热力环流。夏季由海洋吹向大陆的风称为夏季风;冬季由大陆吹向海洋的 ...考博 本站小编 免费考研网 2015-07-01中科院寒旱所考博地理名词解释(答案整理)
名词解释: 1、季风(monsoon):是由于大陆及邻近海洋之间存在的温度差异而形成大范围盛行的、风向随季节有显著变化的风系,具有这种大气环流特征的风称为季风。 大陆和海洋间的广大地区,以一年为周期、随着季节变化而方向相反的风系,称为季风。季风是海陆间季风环流的简称,它是由大尺度的海洋和大陆间的热力差异形成 ...考博 本站小编 免费考研网 2015-07-01