博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
按规则插入结点,然后删除指定的结点。
阅读量:4298 次
发布时间:2019-05-27

本文共 1406 字,大约阅读时间需要 4 分钟。

输入:

5 //长度
2 //第一个节点
3 2 //3插入第二个节点
4 3 //。。。
5 2 //。。。
1 4 //。。。
3 //删除第三个节点
输出:
2 5 1 4
有些地方是为了凑答案,链表的头部插入和删除需要注意。

void insertLinkList(ListNode* &pListHead,int data,int position){    ListNode *p = pListHead;    int index = 2;    if (position==1)    {        ListNode *q = new ListNode;        q->m_nKey = data;        q->m_pNext = pListHead;        pListHead = q;    }    else{        while (index++ < position)        {            p = p->m_pNext;        }        ListNode *q = new ListNode;        q->m_nKey = data;        q->m_pNext = p->m_pNext;        p->m_pNext = q;    }}void deleteNode(ListNode* &pListHead, int position){    ListNode *p = pListHead;    int index = 1;    while (index++ < position-1)    {        p = p->m_pNext;    }    p->m_pNext = (p->m_pNext)->m_pNext;}int main(){       //按规则插入链表    int length;    cin >> length;    int data;    int position;    ListNode* pListHead = NULL;    ListNode* p = new ListNode;    cin >> data;    p->m_nKey = data;    p->m_pNext = NULL;    pListHead = p;    int index = 1;    while (index++
> data; cin >> position; insertLinkList(pListHead,data,position); } cin >> position; deleteNode(pListHead, position); p = pListHead; while (p) { int data = p->m_nKey; cout << data ; if (p->m_pNext) { cout << " "; } p = p->m_pNext; } cout << endl; return 0;}

转载地址:http://xinws.baihongyu.com/

你可能感兴趣的文章
win10 Docke安装mysql8.0
查看>>
docker 启动已经停止的容器
查看>>
order by 排序原理及性能优化
查看>>
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
linux安装docker
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>
spring cloud zuul网关上传大文件
查看>>
springboot+mybatis日志显示SQL
查看>>
工作流中文乱码问题解决
查看>>
maven打包本地依赖包
查看>>
spring boot jpa 实现拦截器
查看>>
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>
Lambda 表达式
查看>>
函数式数据处理(一)--流
查看>>
java 流使用
查看>>
java 用流收集数据
查看>>