⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tset.cc

📁 早期freebsd实现
💻 CC
📖 第 1 页 / 共 2 页
字号:
  assert(c <= a);  c.del(a(a.first()));  assert(c <= a);  assert(c != a);  Pix i = a.first();  assert(!c.contains(a(i)));  for (a.next(i); i != 0; a.next(i)) assert(c.contains(a(i)));  c.add(a(a.first()));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c |= b;  assert(b <= c);  for (i = b.first(); i != 0; b.next(i)) assert(c.contains(b(i)));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c &= a;  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c -= a;  assert(!(a <= c));  for (i = a.first(); i != 0; a.next(i)) assert(!c.contains(a(i)));  for (i = b.first(); i != 0; b.next(i)) c.del(b(i));  assert(c.empty());  assert(a.OK());  assert(b.OK());  assert(c.OK());  generictest(a, b, c);}#include "iOXPSet.h"void OXPtest(){  intOXPSet a(SIZE);  add(nums, a);  assert(a.length() == SIZE);  for (int j = 1; j <= SIZE; ++j) assert(a.contains(j));  intOXPSet b(SIZE);  add(odds, b);  assert(b.length() == SIZE);  intOXPSet c(SIZE);  add(dups, c);   assert(c.length() == SIZE/2);  assert(c <= a);  intOXPSet d(a);  d &= b;  cout << "a: "; printset(a);  cout << "b: "; printset(b);  cout << "c: "; printset(c);  cout << "d: "; printset(d);  assert(d.length() == SIZE/2);  for (Pix p = d.first(); p; d.next(p)) assert((d(p) & 1) != 0);  a.del(1);  assert(a.length() == SIZE-1);  assert(!a.contains(1));  c.clear();  assert(c.empty());  c |= a;  assert(c == a);  assert(c <= a);  c.del(a(a.first()));  assert(c <= a);  assert(c != a);  Pix i = a.first();  assert(!c.contains(a(i)));  for (a.next(i); i != 0; a.next(i)) assert(c.contains(a(i)));  c.add(a(a.first()));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c |= b;  assert(b <= c);  for (i = b.first(); i != 0; b.next(i)) assert(c.contains(b(i)));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c &= a;  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c -= a;  assert(!(a <= c));  for (i = a.first(); i != 0; a.next(i)) assert(!c.contains(a(i)));  for (i = b.first(); i != 0; b.next(i)) c.del(b(i));  assert(c.empty());  assert(a.OK());  assert(b.OK());  assert(c.OK());  generictest(a, b, c);}#include "iOSLSet.h"void OSLtest(){  intOSLSet a;  add(nums, a);  assert(a.length() == SIZE);  for (int j = 1; j <= SIZE; ++j) assert(a.contains(j));  intOSLSet b;  add(odds, b);  assert(b.length() == SIZE);  intOSLSet c;  add(dups, c);   assert(c.length() == SIZE/2);  assert(c <= a);  intOSLSet d(a);  d &= b;  cout << "a: "; printset(a);  cout << "b: "; printset(b);  cout << "c: "; printset(c);  cout << "d: "; printset(d);  assert(d.length() == SIZE/2);  for (Pix p = d.first(); p; d.next(p)) assert((d(p) & 1) != 0);  a.del(1);  assert(a.length() == SIZE-1);  assert(!a.contains(1));  c.clear();  assert(c.empty());  c |= a;  assert(c == a);  assert(c <= a);  c.del(a(a.first()));  assert(c <= a);  assert(c != a);  Pix i = a.first();  assert(!c.contains(a(i)));  for (a.next(i); i != 0; a.next(i)) assert(c.contains(a(i)));  c.add(a(a.first()));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c |= b;  assert(b <= c);  for (i = b.first(); i != 0; b.next(i)) assert(c.contains(b(i)));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c &= a;  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c -= a;  assert(!(a <= c));  for (i = a.first(); i != 0; a.next(i)) assert(!c.contains(a(i)));  for (i = b.first(); i != 0; b.next(i)) c.del(b(i));  assert(c.empty());  assert(a.OK());  assert(b.OK());  assert(c.OK());  generictest(a, b, c);}#include "iBSTSet.h"void BSTtest(){  intBSTSet a;  add(nums, a);  assert(a.length() == SIZE);  for (int j = 1; j <= SIZE; ++j) assert(a.contains(j));  a.balance();  assert(a.OK());  for ( j = 1; j <= SIZE; ++j) assert(a.contains(j));  intBSTSet b;  add(odds, b);  assert(b.length() == SIZE);  intBSTSet c;  add(dups, c);   assert(c.length() == SIZE/2);  assert(c <= a);  intBSTSet d(a);  d &= b;  cout << "a: "; printset(a);  cout << "b: "; printset(b);  cout << "c: "; printset(c);  cout << "d: "; printset(d);  assert(d.length() == SIZE/2);  for (Pix p = d.first(); p; d.next(p)) assert((d(p) & 1) != 0);  a.del(1);  assert(a.length() == SIZE-1);  assert(!a.contains(1));  c.clear();  assert(c.empty());  c |= a;  assert(c == a);  assert(c <= a);  c.del(a(a.first()));  assert(c <= a);  assert(c != a);  Pix i = a.first();  assert(!c.contains(a(i)));  for (a.next(i); i != 0; a.next(i)) assert(c.contains(a(i)));  c.add(a(a.first()));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c |= b;  assert(b <= c);  for (i = b.first(); i != 0; b.next(i)) assert(c.contains(b(i)));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c &= a;  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c -= a;  assert(!(a <= c));  for (i = a.first(); i != 0; a.next(i)) assert(!c.contains(a(i)));  for (i = b.first(); i != 0; b.next(i)) c.del(b(i));  assert(c.empty());  assert(a.OK());  assert(b.OK());  assert(c.OK());  generictest(a, b, c);}#include "iAVLSet.h"void AVLtest(){  intAVLSet a;  add(nums, a);  assert(a.length() == SIZE);  for (int j = 1; j <= SIZE; ++j) assert(a.contains(j));  intAVLSet b;  add(odds, b);  assert(b.length() == SIZE);  intAVLSet c;  add(dups, c);   assert(c.length() == SIZE/2);  assert(c <= a);  intAVLSet d(a);  d &= b;  cout << "a: "; printset(a);  cout << "b: "; printset(b);  cout << "c: "; printset(c);  cout << "d: "; printset(d);  assert(d.length() == SIZE/2);  for (Pix p = d.first(); p; d.next(p)) assert((d(p) & 1) != 0);  a.del(1);  assert(a.length() == SIZE-1);  assert(!a.contains(1));  c.clear();  assert(c.empty());  c |= a;  assert(c == a);  assert(c <= a);  c.del(a(a.first()));  assert(c <= a);  assert(c != a);  Pix i = a.first();  assert(!c.contains(a(i)));  for (a.next(i); i != 0; a.next(i)) assert(c.contains(a(i)));  c.add(a(a.first()));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c |= b;  assert(b <= c);  for (i = b.first(); i != 0; b.next(i)) assert(c.contains(b(i)));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c &= a;  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c -= a;  assert(!(a <= c));  for (i = a.first(); i != 0; a.next(i)) assert(!c.contains(a(i)));  for (i = b.first(); i != 0; b.next(i)) c.del(b(i));  assert(c.empty());  assert(a.OK());  assert(b.OK());  assert(c.OK());  generictest(a, b, c);}#include "iSplaySet.h"void Splaytest(){  intSplaySet a;  add(nums, a);  assert(a.length() == SIZE);  for (int j = 1; j <= SIZE; ++j) assert(a.contains(j));  intSplaySet b;  add(odds, b);  assert(b.length() == SIZE);  intSplaySet c;  add(dups, c);   assert(c.length() == SIZE/2);  assert(c <= a);  intSplaySet d(a);  d &= b;  cout << "a: "; printset(a);  cout << "b: "; printset(b);  cout << "c: "; printset(c);  cout << "d: "; printset(d);  assert(d.length() == SIZE/2);  for (Pix p = d.first(); p; d.next(p)) assert((d(p) & 1) != 0);  a.del(1);  assert(a.length() == SIZE-1);  assert(!a.contains(1));  c.clear();  assert(c.empty());  c |= a;  assert(c == a);  assert(c <= a);  c.del(a(a.first()));  assert(c <= a);  assert(c != a);  Pix i = a.first();  assert(!c.contains(a(i)));  for (a.next(i); i != 0; a.next(i)) assert(c.contains(a(i)));  c.add(a(a.first()));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c |= b;  assert(b <= c);  for (i = b.first(); i != 0; b.next(i)) assert(c.contains(b(i)));  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c &= a;  for (i = a.first(); i != 0; a.next(i)) assert(c.contains(a(i)));  c -= a;  assert(!(a <= c));  for (i = a.first(); i != 0; a.next(i)) assert(!c.contains(a(i)));  for (i = b.first(); i != 0; b.next(i)) c.del(b(i));  assert(c.empty());  assert(a.OK());  assert(b.OK());  assert(c.OK());  generictest(a, b, c);}main(int argc, char** argv){  if (argc > 1)  {    SIZE = abs(atoi(argv[1]));    SIZE &= ~1;  }  else    SIZE = 100;  nums = new int[SIZE];  odds = new int[SIZE];  dups = new int[SIZE];  makenums();  makeodds();  makedups();  start_timer();  cout << "VHtest\n"; VHtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "VOHtest\n"; VOHtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "CHtest\n"; CHtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "SLtest\n"; SLtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "XPtest\n"; XPtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "OXPtest\n"; OXPtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "OSLtest\n"; OSLtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "BSTtest\n"; BSTtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "AVLtest\n"; AVLtest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";  start_timer();  cout << "Splaytest\n"; Splaytest();  if (ptimes) cout << "\ntime = " << return_elapsed_time(0.0) << "\n";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -