資源簡介
自己用C寫了一下黑白點匹配問題,還算比較詳細吧。
注意:有兩個main函數(main,main01),分別是兩種思路寫的。

代碼片段和文件信息
#include?
#include?
#include?
#include?“myfunction.h“
void?match01(point?*b?point?*w?int?n)
{
int?wn?=?n?bn?=?n;
int?i?=?0?k?=?0count?=?0;
double?tmp?=?123456;
bool?status?=?false;
int?*mark;
mark?=?(int?*)malloc(sizeof(int)*bn);
for?(i?=?0;?i? mark[i]?=?0;
while?(wn?>?0)
{
i?=?n;???//初始化i;
while(--i?>=0?&&?b[i].x?>=?w[0].x)??//可以匹配X值的點
{
if?(b[i].y?>=?w[0].y?&&?mark[i]?==?0)??//可以匹配Y值
{
status?=?true;
if?(tmp?>?b[i].y)??//找到最匹配的點
{
tmp?=?b[i].y;
k?=?i;??????//最匹配點的位置
}
}
}
//用mark標記該點已經匹配也可以直接刪除。
if?(status)
{
count++;??//計數器
mark[k]?=?1;
//直接打印匹配點。
printf(“B(%lf%lf)?match?W(%lf%lf)\n“?b[k].x?b[k].y?w[0].x?w[0].y);
}
//值得初始化
tmp?=?123456;
status?=?false;
//刪除W[0]
DeleteMax_MaxHeap(w?&wn);
}
//
printf(“the?max?match?is?%d“?count);
free(mark);
mark?=?NULL;
}
int?main01()
{
point?b[18]?=?{?13910813991071205141417911111117412581487691213610166?};
point?w[18]?=?{?151017466969368614867962717121611117151511111078917?};
int?n?=?18;
//對B進行排序
quicksort_pointX(b?0?n?-?1);
/*for?(int?i?=?0;?i?11;?i++)
{
printf(“%lf%lf\n“?b[i].x?b[i].y);;
}*/
//對W點創建堆
Create_MAXHeap(w?n);?
//
match01(b?w?n);
getchar();
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????45056??2017-05-24?20:51??黑白點匹配問題\.vs\黑白點匹配問題\v14\.suo
?????文件??????50688??2017-05-24?20:51??黑白點匹配問題\Debug\黑白點匹配問題.exe
?????文件?????379672??2017-05-24?20:51??黑白點匹配問題\Debug\黑白點匹配問題.ilk
?????文件?????700416??2017-05-24?20:51??黑白點匹配問題\Debug\黑白點匹配問題.pdb
?????文件???????1530??2017-05-24?20:50??黑白點匹配問題\黑白點匹配問題\black_white_Match.c
?????文件???????2348??2017-05-24?20:50??黑白點匹配問題\黑白點匹配問題\black_white_match02.c
?????文件??????13710??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\black_white_Match.obj
?????文件??????17222??2017-05-20?16:28??黑白點匹配問題\黑白點匹配問題\Debug\black_white_match.obj.enc
?????文件??????19435??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\black_white_match02.obj
?????文件??????20246??2017-05-24?19:11??黑白點匹配問題\黑白點匹配問題\Debug\black_white_match02.obj.enc
?????文件???????8516??2017-05-23?13:42??黑白點匹配問題\黑白點匹配問題\Debug\Heap.obj
?????文件???????8589??2017-05-24?19:34??黑白點匹配問題\黑白點匹配問題\Debug\MaxHeap.obj
?????文件??????10821??2017-05-24?19:20??黑白點匹配問題\黑白點匹配問題\Debug\MinHeap.obj
?????文件???????6131??2017-05-23?14:50??黑白點匹配問題\黑白點匹配問題\Debug\mysort.obj
?????文件??????68608??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\vc140.idb
?????文件??????77824??2017-05-24?20:50??黑白點匹配問題\黑白點匹配問題\Debug\vc140.pdb
?????文件????????371??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.log
?????文件???????4094??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.tlog\CL.command.1.tlog
?????文件??????14496??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.tlog\CL.read.1.tlog
?????文件???????6882??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.tlog\CL.write.1.tlog
?????文件???????3214??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.tlog\li
?????文件???????3750??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.tlog\li
?????文件???????1094??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.tlog\li
?????文件????????240??2017-05-24?20:51??黑白點匹配問題\黑白點匹配問題\Debug\黑白點匹配問題.tlog\黑白點匹配問題.lastbuildstate
?????文件???????1819??2017-05-24?19:34??黑白點匹配問題\黑白點匹配問題\MaxHeap.c
?????文件???????2798??2017-05-24?19:20??黑白點匹配問題\黑白點匹配問題\MinHeap.c
?????文件???????1039??2017-05-23?14:50??黑白點匹配問題\黑白點匹配問題\myfunction.h
?????文件????????868??2017-05-23?13:09??黑白點匹配問題\黑白點匹配問題\mysort.c
?????文件???????7510??2017-05-23?13:59??黑白點匹配問題\黑白點匹配問題\黑白點匹配問題.vcxproj
?????文件???????1446??2017-05-23?13:59??黑白點匹配問題\黑白點匹配問題\黑白點匹配問題.vcxproj.filters
............此處省略13個文件信息
- 上一篇:人像美容磨皮潤膚PS插件
- 下一篇:51單片機——門禁系統
評論
共有 條評論