华为C笔试题
发表时间:2024-11-11 21:13:31
来源:网友投稿
华为C++笔试题之一如下:
题目:编写一个C++程序,实现一个简单的链表,包含插入、删除和查找功能。要求:
定义一个链表节点类,包含数据和指向下一个节点的指针。
实现链表的插入操作,将新节点插入到链表的指定位置。
实现链表的删除操作,删除链表中指定位置的节点。
实现链表的查找操作,查找链表中指定值的节点。
代码如下:
#include <iostream>
using namespace std;
// 定义链表节点类
class ListNode {
public:
int data;
ListNode* next;
ListNode(int val) : data(val), next(nullptr) {}
};
// 插入操作
void insert(ListNode* head, int val, int pos) {
ListNode* newNode = new ListNode(val);
if (pos == 0) {
newNode->next = head;
head = newNode;
} else {
ListNode* cur = head;
int i = 0;
while (cur != nullptr i < pos - 1) {
cur = cur->next;
i++;
}
newNode->next = cur->next;
cur->next = newNode;
}
}
// 删除操作
void deleteNode(ListNode* head, int pos) {
if (head == nullptr) return;
ListNode* cur = head;
ListNode* prev = nullptr;
int i = 0;
while (cur != nullptr i < pos) {
prev = cur;
cur = cur->next;
i++;
}
if (prev == nullptr) {
head = cur->next;
} else {
prev->next = cur->next;
}
delete cur;
}
// 查找操作
ListNode* search(ListNode* head, int val) {
ListNode* cur = head;
while (cur != nullptr) {
if (cur->data == val) {
return cur;
}
cur = cur->next;
}
return nullptr;
}
int main() {
ListNode* head = nullptr;
insert(head, 1, 0);
insert(head, 2, 1);
insert(head, 3, 2);
cout << "Original List: ";
printList(head);
deleteNode(head, 1);
cout << "After deleting 1st node: ";
printList(head);
ListNode* node = search(head, 2);
if (node != nullptr) {
cout << "Found value 2: " << node->data << endl;
} else {
cout << "Value 2 not found" << endl;
}
return 0;
}
以上是一个简单的链表实现,包括插入、删除和查找功能。在主函数中我们创建了一个链表,插入了一些数据,然后进行了删除和查找操作。
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
相关资讯
2025年会计行业十大趋势:技术变革与职业转型
2025-07-03
汽修专业新疆怎么找工作
2025-04-06
机械专业专长怎么写简历
2025-04-06
专科怎么报审计专业的
2025-04-06
专业学科导师类别怎么填
2025-04-06
查报考专业网站怎么查
2025-04-06
水电专业规划怎么写简历
2025-04-06
表演专业怎么留学的好呢
2025-04-06
专业防雷检测怎么收费的
2025-04-06
怎么查询同等学力专业
2025-04-06
高考技能专业怎么选择的
2025-04-06
钢筋套筒专业名称怎么写
2025-04-06
中专怎么填高考志愿专业
2025-04-06
中专统招怎么报志愿专业
2025-04-06
师范专业自我评价怎么写
2025-04-06
景观建筑换专业怎么换好
2025-04-06
推荐资讯
绍兴台风路径实时发布系统(绍兴台风)
2023-08-18 19:13:04
g210国道过路费
2024-08-14 15:23:29
华中农业大学值得上吗
2024-08-19 10:11:41
用友软件下两个公司合并一家怎么操作
2024-10-06 08:35:41
新生儿科医生年度总结推荐
2024-11-05 12:34:11
烧烤素菜刷酱的配方
2024-11-05 08:49:55
王力宏博士是什么专业
2024-12-15 16:58:14
宪法学与行政法学在职研究生招生院校有哪些
2025-03-15 18:38:32
湖北咸宁哪个专业好
2025-03-22 10:47:47
哪个专业考公考编考研
2025-03-25 08:15:39
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇
热门关注