📄 bag.mch
字号:
MACHINE Bag(ELEM,cap) CONSTANTS AMOUNTPROPERTIES AMOUNT=0..capVARIABLES bag, elemINVARIANT bag : ELEM<->AMOUNT& elem<:ELEM & dom(bag)=elemINITIALISATION bag := {}OPERATIONS addbag(ee:ELEM )= IF ee /:dom(bag) THEN elem := elem \/ {ee} || bag:= bag\/ {ee |->1} ELSE bag(ee) := bag(ee)+1 END; rembag(ee:ELEM )= PRE bag /= {}&ee :dom(bag) THEN IF bag(ee)=1 THEN elem := elem - {ee} || bag:= {ee}<<|bag ELSE bag(ee) := bag(ee)-1 END END; oo<--countelm(ee:ELEM)= IF ee :dom(bag) THEN oo := bag(ee) ELSE oo := 0 END; oo<--totelms= IF bag /={} THEN oo := SIGMA(elm).(elm:dom(bag) |bag(elm)) ELSE oo :=0 END; bb<--isin(ee:ELEM)= IF ee :dom(bag) THEN bb := 1 ELSE bb := 0 END/* bagunion(bb<:bag) */ END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -