已解决
企业链表(未完成)
来自网友在路上 174874提问 提问时间:2023-11-03 16:44:12阅读次数: 74
最佳答案 问答题库748位专家为你答疑解惑
文章目录
- 1. 插入
- 2. 类型转换说明
- 2. 代码实现
1. 插入
// 插入
void insert(LinkList* list, int pos, LinkNode* data)
{if (!list || !data)return;if (pos < 0 || pos > list->size)return;LinkNode* curNode = &(list->head);for (int i = 0; i < pos; ++i) {curNode = curNode->next;}// 插入新节点// cur insert nextdata->next = curNode->next;curNode->next = data;list->size++;
}
2. 类型转换说明
参考:有关企业链表中数据类型的强制转换
此处说明:
struct Person
{// 注意LinkNode的位置,放置在首位;// main中:insert(list, 0, (LinkNode*)&p1);// (LinkNode*)&p1取首地址,即LinkNode的地址;// 这样的话在insert中作为节点插入;LinkNode node;std::string name;int age;
};int main()
{LinkList* list = init();Person p1, p2, p3, p4, p5;p1.name = "11";p1.age = 11;p2.name = "22";p2.age = 22;p3.name = "33";p3.age = 33;p4.name = "44";p4.age = 44;p5.name = "55";p5.age = 55;insert(list, 0, (LinkNode*)&p1);insert(list, 0, (LinkNode*)&p2);insert(list, 0, (LinkNode*)&p3);insert(list, 0, (LinkNode*)&p4);insert(list, 0, (LinkNode*)&p5);LinkNode* curNode = list->head.next;while (curNode) {// (Person*)curNode:curNode的地址也即是Person的首地址LinkNodePerson* p = (Person*)curNode;std::cout << p->name << p->age << std::endl;curNode = curNode->next;}destroy(list);return 0;
}
2. 代码实现
#pragma oncestruct LinkNode
{LinkNode* next;
};// 链表节点
struct LinkList
{LinkNode head;int size = 0;
};// 初始化链表
LinkList* init()
{LinkList* list = new LinkList();list->head.next = nullptr;list->size = 0;return list;
}// 插入
void insert(LinkList* list, int pos, LinkNode* data)
{if (!list || !data)return;if (pos < 0 || pos > list->size)return;LinkNode* curNode = &(list->head);for (int i = 0; i < pos; ++i) {curNode = curNode->next;}// 插入新节点// cur insert nextdata->next = curNode->next;curNode->next = data;list->size++;
}int find(LinkList* list, LinkNode* node) { return 0; }void remove(LinkList* list, int pos) {}int size(LinkList* list)
{if (!list)return -1;return list->size;
}void destroy(LinkList* list)
{if (!list)return;list->size = 0;delete list;
}
查看全文
99%的人还看了
相似问题
- 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
- Java 算法篇-链表的经典算法:判断回文链表、判断环链表与寻找环入口节点(“龟兔赛跑“算法实现)
- 代码随想录二刷 | 链表 | 删除链表的倒数第N个节点
- 节点导纳矩阵
- bhosts 显示节点 “unreach“ 状态
- 电子电器架构 —— 车载网关边缘节点总线转换
- 〖大前端 - 基础入门三大核心之JS篇㊳〗- DOM访问元素节点
- 第四天||24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II
- CS224W5.1——消息传递和节点分类
- Vue报错解决Error in v-on handler: “Error: 无效的节点选择器:#div1“
猜你感兴趣
版权申明
本文"企业链表(未完成)":http://eshow365.cn/6-31206-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: element表格自定义筛选
- 下一篇: 数据库 | 看这一篇就够了!最全MySQL数据库知识框架!