pgm12_09.txt

来自「c#版本 算法大全 几乎所有常见的算法 This file contain」· 文本 代码 · 共 49 行

TXT
49
字号
////   This file contains the C# code from Program 12.9 of//   "Data Structures and Algorithms//    with Object-Oriented Design Patterns in C#"//   by Bruno R. Preiss.////   Copyright (c) 2001--2002 by Bruno R. Preiss, P.Eng.  All rights reserved.////   http://www.brpreiss.com/books/opus6/programs/pgm12_09.txt//public class SetAsBitVector : AbstractSet, Set{    protected int[] vector;    public virtual Set Union(Set set)    {	SetAsBitVector arg = (SetAsBitVector)set;	if (universeSize != arg.universeSize)	    throw new ArgumentException("mismatched sets");	SetAsBitVector result = new SetAsBitVector(universeSize);	for (int i = 0; i < vector.Length; ++i)	    result.vector[i] = vector[i] | arg.vector[i];	return result;    }    public virtual Set Intersection(Set set)    {	SetAsBitVector arg = (SetAsBitVector)set;	if (universeSize != arg.universeSize)	    throw new ArgumentException("mismatched sets");	SetAsBitVector result = new SetAsBitVector(universeSize);	for (int i = 0; i < vector.Length; ++i)	    result.vector[i] = vector[i] & arg.vector[i];	return result;    }    public virtual Set Difference(Set set)    {	SetAsBitVector arg = (SetAsBitVector)set;	if (universeSize != arg.universeSize)	    throw new ArgumentException("mismatched sets");	SetAsBitVector result = new SetAsBitVector(universeSize);	for (int i = 0; i < vector.Length; ++i)	    result.vector[i] = vector[i] & ~arg.vector[i];	return result;    }    // ...}

⌨️ 快捷键说明

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