当前位置: 面试刷题>> 从集合中插入或移除元素 (经典算法题500道)


### 题目描述补充 题目:**从集合中插入或移除元素** 给定一个初始为空的可变集合(在编程中,可以是数组、列表、集合等数据结构,具体取决于语言),你需要实现两个基本操作: 1. **插入元素**:将一个新元素添加到集合中,如果该元素已存在,则不进行任何操作。 2. **移除元素**:从集合中移除一个元素,如果该元素不存在,则不进行任何操作。 最后,需要提供一个方法或函数来验证集合的当前状态(例如,打印出集合中的所有元素)。 ### 示例代码 #### PHP 示例 ```php class MySet { private $elements; public function __construct() { $this->elements = array(); } public function insert($element) { if (!in_array($element, $this->elements)) { $this->elements[] = $element; } } public function remove($element) { $key = array_search($element, $this->elements); if ($key !== false) { unset($this->elements[$key]); $this->elements = array_values($this->elements); // Reindex array } } public function printSet() { print_r($this->elements); } } // 使用示例 $set = new MySet(); $set->insert(1); $set->insert(2); $set->insert(2); // 重复插入,不应改变集合 $set->remove(1); $set->printSet(); // 输出: Array ( [0] => 2 ) ``` #### Python 示例 ```python class MySet: def __init__(self): self.elements = set() def insert(self, element): self.elements.add(element) def remove(self, element): if element in self.elements: self.elements.remove(element) def print_set(self): print(self.elements) # 使用示例 set_obj = MySet() set_obj.insert(1) set_obj.insert(2) set_obj.insert(2) # 重复插入,不应改变集合 set_obj.remove(1) set_obj.print_set() # 输出: {2} ``` #### JavaScript 示例 ```javascript class MySet { constructor() { this.elements = new Set(); } insert(element) { this.elements.add(element); } remove(element) { this.elements.delete(element); } printSet() { console.log(this.elements); } } // 使用示例 const setObj = new MySet(); setObj.insert(1); setObj.insert(2); setObj.insert(2); // 重复插入,不应改变集合 setObj.remove(1); setObj.printSet(); // 输出: Set(1) {2} ``` **码小课网站中有更多相关内容分享给大家学习**,包括算法设计、数据结构、编程技巧等,适合不同水平的编程爱好者。
推荐面试题