链表的插入、删除
来源:互联网 发布:mysql 状态 编辑:程序博客网 时间:2024/05/22 13:02
#include<iostream>using namespace std;typedef struct node { int data; struct node *next; node(int data = 0, struct node* next = NULL) : data(data), next(next) {}//构造函数初始化列表} Node, *pNode;void insert(pNode& head, int position, int data){ if (position>head->data) { cout << "插入链表长度不够" << endl; return; } pNode p; p = head; for (int i = 0; i < position; i++) { p = p->next;//插入到p节点后 } pNode s = new Node(data);//s没有需初始化 s->next = p->next; p->next = s; (head->data)++;}void remove(pNode& head, int position){ if (position>head->data-1) { cout << "删除链表长度不够" << endl; return; } pNode p; p = head; for (int i = 0; i < position; i++) { p = p->next;//删除p节点后的节点 } pNode q; q = p->next; p->next = q->next; free(q); (head->data)--;}int main(){ pNode head = new Node(); insert(head, 3, 1); insert(head,0,1); insert(head, 0, 3);//231 remove(head, 3); remove(head, 0);//11 cout << head->data << endl;//输出链表的长度(不包括head) return 0;}
阅读全文
0 0
- 链表的插入、删除
- 链表的插入、删除
- 链表插入删除
- 链表插入删除
- 链表插入删除
- 链表的建立、插入和删除
- 链表的建立插入与删除
- 链表的建立、插入和删除
- 链表的创建,插入,删除
- 链表的创建,插入,删除,逆序
- 链表的创建、插入、删除操作
- 链表的插入 删除 排序 倒叙
- 链表的创建、查询、插入、删除
- 双向循环链表的插入删除
- 单向链表的插入删除代码
- 双向链表的建立插入删除
- 单向链表的创建 删除 插入
- 链表的创建、插入、删除操作
- 在线音乐播放器(ajax请求网络中免费的api)
- spring 发送邮件功能示例
- 三位数转化为相反数与分离个十百位
- 泛型_小记
- java 线程间通信,多生产者多消费者问题
- 链表的插入、删除
- 一些常用的adb命令
- Linux内核学习记录1
- 1032. 挖掘机技术哪家强(20)
- Android中的Resources解析
- MFC窗口销毁过程
- Linux终端下 dstat 监控工具
- Java内存区域
- 《算法图解》第五章散列函数和散列表