diff options
author | cathook <b01902109@csie.ntu.edu.tw> | 2014-04-19 16:21:17 +0800 |
---|---|---|
committer | cathook <b01902109@csie.ntu.edu.tw> | 2014-04-19 16:21:17 +0800 |
commit | e9a16c4ef0ea782d7db8d788c455ea946eaab039 (patch) | |
tree | 5728aa2076a13079f0ff7f162cfd4cab95e1db91 /_test/meowpp.cpp | |
download | meow-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.cpp | 59 |
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; +} |