c 基礎知識 集合之點陣列(BitArray)

2021-08-15 02:45:08 字數 3240 閱讀 6874

bitarray 類管理乙個緊湊型的位值陣列,它使用布林值來表示,其中 true 表示位是開啟的(1),false 表示位是關閉的(0)。

當您需要儲存位,但是事先不知道位數時,則使用點陣列。您可以使用整型索引從點陣列集合中訪問各項,索引從零開始。

下表列出了bitarray類的一些常用的屬性

屬性描述

count

獲取 bitarray 中包含的元素個數。

isreadonly

獲取乙個值,表示 bitarray 是否唯讀。

item

獲取或設定 bitarray 中指定位置的位的值。

length

獲取或設定 bitarray 中的元素個數。

下表列出了bitarray類的一些常用的方法

序號方法名 & 描述

1public bitarray and( bitarray value );

對當前的 bitarray 中的元素和指定的 bitarray 中的相對應的元素執行按位與操作。

2public bool get( int index );

獲取 bitarray 中指定位置的位的值。

3public bitarray not();

把當前的 bitarray 中的位值反轉,以便設定為 true 的元素變為 false,設定為 false 的元素變為 true。

4public bitarray or( bitarray value );

對當前的 bitarray 中的元素和指定的 bitarray 中的相對應的元素執行按位或操作。

5public void set( int index, bool value );

把 bitarray 中指定位置的位設定為指定的值。

6public void setall( bool value );

把 bitarray 中的所有位設定為指定的值。

7public bitarray xor( bitarray value );

對當前的 bitarray 中的元素和指定的 bitarray 中的相對應的元素執行按位異或操作。

下面的例項演示了點陣列(bitarray)的使用:

using

system

;using

system

.collections

;namespace

;byte

b =;// 把值 60 和 13 儲存到點陣列中

ba1

=new

bitarray(a

);ba2

=new

bitarray(b

);// ba1 的內容

console

.writeline

("bit array ba1: 60"

);for

(inti =

0;i <

ba1.

count;i

++) "

,ba1[i

]);}

console

.writeline

();// ba2 的內容

console

.writeline

("bit array ba2: 13"

);for

(inti =

0;i <

ba2.

count;i

++) "

,ba2[i

]);}

console

.writeline

();bitarray

ba3

=new

bitarray(8

);ba3

=ba1

.and

(ba2

);// ba3 的內容

console

.writeline

("bit array ba3 after and operation: 12"

);for

(inti =

0;i <

ba3.

count;i

++) "

,ba3[i

]);}

console

.writeline

();ba3

=ba1.or

(ba2

);// ba3 的內容

console

.writeline

("bit array ba3 after or operation: 61"

);for

(inti =

0;i <

ba3.

count;i

++) "

,ba3[i

]);}

console

.writeline

();console

.readkey

();}

}}

當上面的**被編譯和執行時,它會產生下列結果:

bit

array ba1:60

false

false

true

true

true

true

false

false

bitarray ba2:13

true

false

true

true

false

false

false

false

bitarray ba3 after and operation:12

false

false

true

true

false

false

false

false

bitarray ba3 after or operation:61

true

false

true

true

false

false

false

false

c 基礎知識 集合之堆疊(Stack)

堆疊 stack 代表了乙個後進先出的物件集合。當您需要對各項進行後進先出的訪問時,則使用堆疊。當您在列表中新增一項,稱為推入元素,當您從列表中移除一項時,稱為彈出元素。下表列出了stack類的一些常用的屬性 屬性描述 count 獲取 stack 中包含的元素個數。下表列出了stack類的一些常用...

python基礎知識之集合

鑑於前面已經對列表的一些用法進行過介紹,本篇文章就從元組開始說 首先,元組和列表的形式上是差不多的,都是儲存大量資料的一組集合,但是也是有不同點的 下面舉個列子 元組 test 1,3,xx 列表 test1 1,2,xx 從上面的列子可以看出在定義元組和列表時需要注意的不同,元組用的小括號,而列表...

Python基礎知識之集合

一般方式 將該集合的所有元素置於乙個大括號內,以逗號分隔。set1 set1 但上面這種方式不能用於建立乙個空集合 set0 type set0 乙個空的大括號會被認為是乙個空的字典。用set 建立集合 set a 5,chat 89,2.55 若建立乙個空集合,set 內不設定引數。如果集合中的元...