链表插入,反转
2021/9/12 23:34:46
本文主要是介绍链表插入,反转,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
bool InsertOFPos(SingleList *head,ElemType val,int pos)//按位置插入 { if(head==NULL) exit(0); if(pos<0) return false; SingleList *p=head; while(pos&&p!=NULL) { pos--; p=p->next; } if(p==NULL) return false; SingleList *newNode=ApplyNode(val,p->next); if(newNode==NULL) return false; p->next=newNode; return true; } //链表反转 void Resever(SingleList *head) { if(head==NULL ||head->next==NULL ||head->next->next==NULL) exit(0);//为空或只有一个节点时 //使用两个指针 //就地逆转 SingleList *p=head->next;//逆转的节点 SingleList *q=p->next;//记录逆转节点的下一个 head->next = NULL;//头结点后置为空 while (p!= NULL) { //将p插入到头结点和头结点的下一个中间 p->next=head->next; head->next=p; //逆转节点往后挪 p=q; if(q!=NULL) { q=q->next; } } ShowList(head); /* //使用三个指针 SingleList *s=NULL; SingleList *p = head->next; SingleList *q = p->next; while(p!= NULL) { p->next=s; s=p; p=q; if(q!=NULL) { q=q->next; } } head->next=s; */ }
这篇关于链表插入,反转的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现