头插入法反转单链表
来源:互联网 发布:java获取下一个月 编辑:程序博客网 时间:2024/06/14 03:36
建立一个新的结点n,从现存链表中依次取结点插入到n的后面。
template <class T>struct Node{ T data; Node<T> *next; //此处<T>也可以省略};template <class T>class LinkList{ public: LinkList( ); //建立只有头结点的空链表 LinkList(T a[ ], int n); //建立有n个元素的单链表 ~LinkList(); //析构函数 void PrintList( ); //遍历单链表,按序号依次输出各元素 void reverse(); private: Node<T> *first; //单链表的头指针};/**前置条件:单链表不存在*输 入:无*功 能:构建一个单链表*输 出:无*后置条件:构建一个单链表*/template <class T>LinkList<T>:: LinkList( ){ first=new Node<T>; first->next=NULL;}/**前置条件:单链表不存在*输 入:顺序表信息的数组形式a[],单链表长度n*功 能:将数组a[]中元素建为长度为n的单链表*输 出:无*后置条件:构建一个单链表*/ template <class T> LinkList<T>:: LinkList(T a[ ], int n) { first=new Node<T>; //生成头结点Node<T> *r,*s; r=first; //尾指针初始化 for (int i=0; i<n; i++){ s=new Node<T>; s->data=a[i]; //为每个数组元素建立一个结点 r->next=s; r=s; //插入到终端结点之后} r->next=NULL; //单链表建立完毕,将终端结点的指针域置空 }/**前置条件:无*输 入:无*功 能:无*输 出:无*后置条件:无*/template <class T>LinkList<T>:: ~LinkList(){}template <class T> void LinkList<T>::PrintList( ){Node<T> *p;p=first->next;while (p){ cout<<p->data<<endl; p=p->next;}}template <class T>void LinkList<T>::reverse(){Node<T> *n = new Node<T>;n->next = NULL;Node<T> *p = first->next;while( p != NULL ){Node<T> *temp = p->next;p->next = n->next;n->next = p;p = temp;}first->next = n->next;delete n;n = NULL;}
测试代码:
int main(){ int r[ ]={1,2,3,4,5};LinkList <int> b(r,5); //根据数组创建单链表b.PrintList(); //输出单链表所有元素b.reverse();b.PrintList();getchar();return 0;}
- 头插入法反转单链表
- 单链表操作 头插入 尾插入 链表反转
- 单链表的创建,插入和反转
- 单链表创建插入删除打印反转
- 给定一个头指针,实现单链表元素反转
- 头插入法创建链表
- 头插入法建立链表
- 数据结构 -- 单链表插入之包含头节点的插入
- 单链表反转,单链表创建,单链表尾部插入,单链表打印
- 单链表的插入删除反转和冒泡排序单链表
- 单链表-创建、插入、删除、查找、反转等操作
- c/c++单链表的创建和删除,插入,反转操作
- C++单链表的初始化,插入,删除,反转操作
- GridView插入头布局
- 数据结构 -- 单链表插入之不包含头节点
- 单链表的头插 尾插 反序 遍历 插入 删除
- 2.17-比较有头节点的单链表与无头节点插入元素的区别;
- 今天有点忙,拙劣地写了个链表 头插入法,尾插入法。
- 如何完美应对面试
- Facebook收购的14家公司盘点
- 用Android-X86和VirtualBox打造高性能Android开发环境
- 如何读取jar包外的properties文件和log4j.properties
- Kamailio(OPENSER) 3.1.x INSTALL
- 头插入法反转单链表
- 用脑袋做测试
- 程序员的与众不同和平凡
- iphone视频聊天代码实现
- 文本框事件顺序
- 限定名称,命名空间
- jQuery1.2.1结构图
- 如何在网页HTML中嵌入QQ、MSN、旺旺、Gtalk快速对话框代码
- 用系统NSUserDefaults方法保存历史数据