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

📄 safe-vector.zc

📁 实现树形结构
💻 ZC
字号:
//[of]:description
//[c]Safe Vector
//[c]
//[c]This vector is especially design to allows deletion of an item while 
//[c]enumerating the content.
//[c]
//[c]This vector can not include nil values.
//[cf]
//[of]:imports
//[c]
import "base/types"
import "collection/vector"
//[cf]
//[of]:structure
//[c]
public struct safe vector: local vector
	// empty
end
//[cf]
//[c]
//[of]:adding - removing
//[of]:add (m, object)
//[c]
public func add (m: safe vector,  o: object)

	def i = 0:d
	def n = size (m)
	while i < n
		if is nil (m[i])
			m[i] = o
			return
		end
		++i
	end
	
	add (super (m), o)

end
//[cf]
//[of]:remove (m, object)
//[c]
public func remove (m: safe vector, o: object)

	def i = index (m, o)
	if i <> -1
		m [i] = nil
	end

end
//[cf]
//[cf]
//[of]:enumerating
//[c]Enumerates all items
//[c]
public equ each (m: safe vector)

	each (super (m)) ? e
		if not nil (e)
			yield (e)
		end
	end

end
//[cf]

⌨️ 快捷键说明

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