aboutsummaryrefslogtreecommitdiffstats
path: root/_test/meowpp.cpp
diff options
context:
space:
mode:
authorcathook <b01902109@csie.ntu.edu.tw>2014-04-19 16:21:17 +0800
committercathook <b01902109@csie.ntu.edu.tw>2014-04-19 16:21:17 +0800
commite9a16c4ef0ea782d7db8d788c455ea946eaab039 (patch)
tree5728aa2076a13079f0ff7f162cfd4cab95e1db91 /_test/meowpp.cpp
downloadmeow-e9a16c4ef0ea782d7db8d788c455ea946eaab039.tar
meow-e9a16c4ef0ea782d7db8d788c455ea946eaab039.tar.gz
meow-e9a16c4ef0ea782d7db8d788c455ea946eaab039.tar.bz2
meow-e9a16c4ef0ea782d7db8d788c455ea946eaab039.tar.lz
meow-e9a16c4ef0ea782d7db8d788c455ea946eaab039.tar.xz
meow-e9a16c4ef0ea782d7db8d788c455ea946eaab039.tar.zst
meow-e9a16c4ef0ea782d7db8d788c455ea946eaab039.zip
init
Diffstat (limited to '_test/meowpp.cpp')
-rw-r--r--_test/meowpp.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/_test/meowpp.cpp b/_test/meowpp.cpp
new file mode 100644
index 0000000..ae89e73
--- /dev/null
+++ b/_test/meowpp.cpp
@@ -0,0 +1,59 @@
+#include "dsa/KD_Tree.h"
+#include "dsa/SplayTree.h"
+#include "dsa/DisjointSet.h"
+#include "dsa/Heaps.h"
+#include "Usage.h"
+
+#include <cstdio>
+#include <vector>
+
+int main(){
+ meow::Usage usg("hi!");
+ printf("==%s==\n", usg.getUsage().c_str());
+ meow::DisjointSet dsj(10);
+ for(int i = 0; i < 10; i++) printf("%2d ", (int)dsj.root(i));
+ dsj.merge(1, 2);
+ dsj.merge(1, 2);
+ dsj.merge(1, 3);
+ dsj.merge(2, 3);
+ dsj.merge(1, 5);
+ printf("\n");
+ for(int i = 0; i < 10; i++) printf("%2d ", (int)dsj.root(i));
+ printf("\n");
+ dsj.reset(7);
+ meow::MergeableHeap<double> hp;
+ hp.push(5.7);
+ hp.push(5.3);
+ hp.push(5.2);//
+ hp.push(5.1);//
+ meow::MergeableHeap<double> hp2;
+ hp2.push(6.7);
+ hp2.push(4.3);
+ hp2.push(2.2);
+ hp2.push(8.1);//
+ hp.pop();
+ hp2.pop();
+ hp.pop();
+ hp.merge(&hp2);
+ while(!hp.empty()){
+ printf("==%f==\n", hp.top());
+ hp.pop();
+ }
+ meow::KD_Tree<std::vector<double>, double, double> kd(3);
+ std::vector<double> v(3); double k;
+ v[0] = 0; v[1] = 0; v[2] = 0; k = 0.0; kd.insert(v, k);
+ v[0] = 2; v[1] = 0; v[2] = 0; k = 0.1; kd.insert(v, k);
+ v[0] = 0; v[1] = 2; v[2] = 0; k = 0.2; kd.insert(v, k);
+ v[0] = 0; v[1] = 0; v[2] = 2; k = 0.3; kd.insert(v, k);
+ v[0] = 2; v[1] = 2; v[2] = 0; k = 0.4; kd.insert(v, k);
+ v[0] = 2; v[1] = 0; v[2] = 2; k = 0.5; kd.insert(v, k);
+ v[0] = 0; v[1] = 2; v[2] = 2; k = 0.6; kd.insert(v, k);
+ v[0] = 2; v[1] = 2; v[2] = 2; k = 0.7; kd.insert(v, k);
+ v[0] = 0.1; v[1] = 0.9; v[2] = 0.1; k = kd.query(v, 1); printf("//%f//\n", k);
+ v[0] = 0.1; v[1] = 1.9; v[2] = 0.1; k = kd.query(v, 1); printf("//%f//\n", k);
+ v[0] = 1.1; v[1] = 1.9; v[2] = 1.1; k = kd.query(v, 1); printf("//%f//\n", k);
+ v[0] = 0.1; v[1] = 1.9; v[2] = 3.1; k = kd.query(v, 1); printf("//%f//\n", k);
+ v[0] = 0.1; v[1] = -51.9; v[2] = 10.1; k = kd.query(v, 1); printf("//%f//\n", k);
+
+ return 0;
+}