题目描述补充
题目:从集合中插入或移除元素
给定一个初始为空的可变集合(在编程中,可以是数组、列表、集合等数据结构,具体取决于语言),你需要实现两个基本操作:
- 插入元素:将一个新元素添加到集合中,如果该元素已存在,则不进行任何操作。
- 移除元素:从集合中移除一个元素,如果该元素不存在,则不进行任何操作。
最后,需要提供一个方法或函数来验证集合的当前状态(例如,打印出集合中的所有元素)。
示例代码
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 示例
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 示例
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}
码小课网站中有更多相关内容分享给大家学习,包括算法设计、数据结构、编程技巧等,适合不同水平的编程爱好者。