T& RemoveMin()//删除链表中值最小的元素,返回最小元素的值。 (2)将数组a[10]={1,2,3,9,5,6,7,8,9,0}中的元素输入到容器中; 3)删除链表中值最小的元素,然后输出容器全部元素。 用c++写代码,简单一点
时间: 2024-10-10 08:11:33 浏览: 45
Java 实例 - 删除链表中的元素源代码-详细教程.zip
在C++中,我们可以使用`std::list`作为容器,因为它允许直接删除元素,并且可以保持元素插入顺序。这里是一个简单的示例,首先创建一个`std::list<int>`,然后添加数组元素,最后删除最小元素并输出剩余元素:
```cpp
#include <iostream>
#include <list>
// 定义一个节点结构体
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
// 删除链表中值最小的元素
ListNode* removeMin(std::list<int>& nums) {
if (nums.empty()) return nullptr; // 如果链表为空,则返回空指针
ListNode* minNode = &nums.front(); // 记录最小值节点
for (auto it = nums.begin(); it != nums.end(); ++it) {
if (*it < minNode->val) {
minNode = it; // 更新最小值节点
}
}
nums.erase(minNode); // 从链表中删除最小元素
return *minNode; // 返回最小元素
}
int main() {
int a[] = {1, 2, 3, 9, 5, 6, 7, 8, 9, 0};
std::list<int> container(a, a + sizeof(a) / sizeof(a[0]));
// 删除最小元素
ListNode* removedMin = removeMin(container);
if (removedMin) {
std::cout << "最小元素的值: " << removedMin->val << '\n';
}
// 输出剩余容器元素
for (const auto& num : container) {
std::cout << num << ' ';
}
std::cout << '\n';
return 0;
}
```
在这个代码中,我们先将数组转换成`std::list`,然后调用`removeMin`函数删除最小元素,最后遍历`container`打印出所有元素。
阅读全文