C++实现单链表的逆置
来源:互联网 发布:复活吧我的勇士java 编辑:程序博客网 时间:2024/06/10 13:15
#include<iostream> using namespace std; const int N=6; typedef struct node{ //单链表 int data; struct node* next; }LinkedNode; /****由数组创建单链表****/ LinkedNode *CreateList(int a[N]) { LinkedNode* ListHead=new LinkedNode(); ListHead->data=a[0]; LinkedNode* q = ListHead; for(int i=1;i<N;i++) { LinkedNode* p=new LinkedNode(); p->data=a[i]; q->next=p; q=p; } return ListHead; } /****输出单链表****/ void PrintList(LinkedNode *ListHead) { if(NULL==ListHead)cout<<"The List is empty!"<<endl; else { LinkedNode* p=ListHead; while(p!=NULL) { cout<<p->data<<" "; p=p->next; } cout<<endl; } } LinkedNode* ReverseList(LinkedNode* ListHead) { cout<<"Begin to Reverse the List"<<endl; if( (NULL==ListHead)||(NULL==ListHead->next) )return ListHead; //边界检测 LinkedNode* pPre=ListHead; //先前指针 LinkedNode* pCur=pPre->next; //当前指针 LinkedNode* pNext=NULL; //后继指针 while(pCur!=NULL) { pNext=pCur->next; pCur->next=pPre; pPre=pCur; pCur=pNext; } ListHead->next=NULL; ListHead=pPre; //记录下新的头结点 return ListHead;} /*void ReverseList(LinkedNode* pCur,LinkList& ListHead) { if( (NULL==pCur)||(NULL==pCur->next) ) { ListHead=pCur; } else { LinkedNode* pNext=pCur->next; ReverseList(pNext,ListHead); //递归逆置后继结点 pNext->next=pCur; //将后继结点指向当前结点。 pCur->next=NULL; } } */ int main() { int a[N]={1,2,3,4,5,6}; LinkedNode* list=CreateList(a); PrintList(list); list = ReverseList(list); PrintList(list); system("pause"); return 0; }
0 0
- C语言实现单链表的逆置
- 单链表的C实现
- 【C++】单链表的实现
- 单链表的C实现
- 【C++】单链表的实现
- c语言实现数组的逆置
- 单链表的C语言实现
- 单链表的反转实现(C++)
- 单链表的C语言实现
- 简单的单链表实现 c
- c语言单链表的实现
- C++|单链表的实现源代码
- 单链表C语言的实现
- 单链表的C语言实现
- C语言单链表的实现
- 【C语言】单链表的实现
- [c语言]单链表的实现
- 单链表的C语言实现
- poj 2115 C Looooops
- CXF-01:使用CXF开发Web Service服务端
- android viewpager切换到最后一页时,跳转至其他activity
- 线程间通信
- 【幻化万千戏红尘】qianfeng-Android-Day19_导航栏制作
- C++实现单链表的逆置
- maven报错:Check $M2_HOME environment variable and mvn script match.
- 2016.09.17【初中部 NOIP提高组 】模拟赛C
- 【幻化万千戏红尘】qianfeng-Android-Day20_Bitmap二次采样
- Fresco第三方框架加载图片教程介绍
- NOIP2016提高A组模拟9.17
- 对于Java转型的一些个人理解
- Android Broadcast Receiver
- 编程语言 - 常量和变量