-
大小: 7.93MB文件類型: .zip金幣: 2下載: 0 次發布日期: 2023-10-06
- 語言: Matlab
- 標簽: 凸包??枚舉??Graham_scan??
資源簡介
在vs2010環境下凸包問題枚舉 Graham_scan以及分治三種方法實現,并用matlab將結果畫出來,進行驗證。細節考慮較全面。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?“InitGraph.h“
#include?“Convexhull.h“
void?printfirst(linkStack?P);
void?print(linkStack?P);
void?printOrigin(Vertex?*pointint?n);
int?main()
{
long?int?startfinish;
int?count?=?0;
int?n;
linkStack?P;
P?=?(linkStack)malloc(sizeof(StackNode));
InitStack(P);
printf(“Input?the?number?of?point??n:\n“);
scanf(“%d“&n);
Vertex?*point?=?(Vertex?*)malloc(n*sizeof(Vertex));
int?choose?=?0;
printf(“選擇采用哪種執行方式:\n“);
printf(“***************************************************\n“);
printf(“1----基于枚舉\n“);
printf(“2----基于Graham-Scan\n“);
printf(“3----基于分治思想\n“);
printf(“0----EXIT\n“);
do
{
scanf(“%d“&choose);
switch(choose)
{
case?1:
GraphInit(pointn);
????????printOrigin(pointn);
start?=?clock();
enumConvexhull(pointP?n);
finish?=?clock();
RunTime[0]?=??finish?-?start;
printf(“顯示結果如下:\n“);
???????? printfirst(P);
printf(“運行時間:%d?ms\n“RunTime[0]);
continue;
case?2:
GraphInit(pointn);
????????printOrigin(pointn);
start?=?clock();
Graham_scan(pointPn);
finish?=?clock();
RunTime[1]?=?finish?-?start;
printf(“顯示結果如下:\n“);
???????? print(P);
printf(“運行時間:%d?ms\n“RunTime[1]);
continue;
case?3:
GraphInit(pointn);
???/*?????FILE??*fid;
fid?=?fopen(“oooo.txt““r“);
int?i;
for(i?=?0;i?14;i++)
{
fscanf(fid“%d“&point[i].x);
fscanf(fid“%d“&point[i].y);
}
point[14].x?=?10;
point[14].y?=?100;*/
????????printOrigin(pointn);
start?=?clock();
Divide_Graham(pointP0n-1);
finish?=?clock();
RunTime[2]?=??finish?-?start;
printf(“顯示結果如下:\n“);
???????? print(P);
printf(“運行時間:%d?ms\n“RunTime[2]);
continue;
}
}while(choose);
getchar();
return?0;
}
/*****************print**************************/
void?print(linkStack?L)
{
linkStack?P?=?L;
Vertex?result;
ofstream?fout2;
fout2.open(“result_pot.txt“);
while(!IsEmpty(P))
{
Pop(P&result);
fout2< printf(“坐標:[%d???%d]\n“result.xresult.y);
}
fout2.close();
}
void?printOrigin(Vertex?*pointint?n)
{
int?i;
ofstream?fout1;
fout1.open(“original_pot.txt“);
for(i?=?0;i? {
printf(“原始點%d??%d\n“point[i].xpoint[i].y);
fout1< }
}
void?printfirst(linkStack?P)
{
int?i;
int?k?=?0;
Vertex?*PP?=?(Vertex?*)malloc(1000*sizeof(Vertex));
while(!IsEmpty(P))
{
Pop(P&PP[k]);
k++;
}
linkStack?L?=?(linkStack)malloc(sizeof(StackNode));
InitStack(L);
Graham_scan(PPLk);
print(L);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-12-20?11:21??CH3_Test\
?????目錄???????????0??2014-12-17?23:59??CH3_Test\CH3_Test\
?????文件?????8867840??2014-12-20?11:21??CH3_Test\CH3_Test.sdf
?????文件?????????891??2014-12-11?19:21??CH3_Test\CH3_Test.sln
?????文件???????24576??2014-12-20?11:21??CH3_Test\CH3_Test.suo
?????文件????????4668??2014-12-14?19:29??CH3_Test\CH3_Test\CH3_Test.vcxproj
?????文件????????1340??2014-12-11?21:14??CH3_Test\CH3_Test\CH3_Test.vcxproj.filters
?????文件?????????143??2014-12-11?19:21??CH3_Test\CH3_Test\CH3_Test.vcxproj.user
?????文件????????9958??2014-12-18?15:18??CH3_Test\CH3_Test\Convexhull.h
?????目錄???????????0??2014-12-20?08:54??CH3_Test\CH3_Test\Debug\
?????文件?????????381??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\CH3_Test.exe.intermediate.manifest
?????文件??????????49??2014-12-20?08:54??CH3_Test\CH3_Test\Debug\CH3_Test.lastbuildstate
?????文件?????????797??2014-12-20?08:54??CH3_Test\CH3_Test\Debug\CH3_Test.log
?????文件?????????707??2014-12-11?20:08??CH3_Test\CH3_Test\Debug\CH3_Test.vcxprojResolveAssemblyReference.cache
?????文件???????????0??2014-12-11?19:22??CH3_Test\CH3_Test\Debug\CH3_Test.write.1.tlog
?????文件????????1474??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\cl.command.1.tlog
?????文件???????11378??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\CL.read.1.tlog
?????文件?????????520??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\CL.write.1.tlog
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
?????文件???????????2??2014-12-19?21:26??CH3_Test\CH3_Test\Debug\li
............此處省略62個文件信息
評論
共有 條評論