码迷,mamicode.com
首页 > 其他好文 > 详细

(7)--逆序创建链表及链表反转

时间:2016-09-01 12:36:48      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include <iostream>
 2 using namespace std;
 3 typedef struct LNode 
 4 {
 5     int data;
 6     LNode *next;
 7 }LNode,*LinkList;
 8 //逆位序输入n个元素的值,建立带头结点的单链线性表
 9 LinkList createLinklist(LinkList &L)
10 {
11     L = (LinkList)malloc(sizeof(LNode));
12     L->next = NULL;//建立头结点
13     for (int i = 0; i <= 10;i++) {
14         LinkList p = (LinkList)malloc(sizeof(LNode));
15         p->data = i;
16         p->next = L->next;
17         L->next = p;
18     }
19     return L;
20 }
21 //链表反转
22 LinkList listReversal(LinkList &L)
23 {
24     LinkList preNode=NULL; //前一个节点
25     LinkList node = L->next;     //后一个节点
26     LinkList nextNode = NULL;//中间节点
27     while (node!=NULL) {
28         nextNode = node->next;  //保存下一个节点的值
29         node->next = preNode;    //把当前节点的下一个节点指向preNode;
30         preNode = node;            //将preNode向后移动指向此时的node
31         node = nextNode;        //将node向后移动指向nextNode
32     }
33     L->next = preNode;
34     return L;
35 }
36 int main()
37 {
38     LinkList linkList;
39     LinkList L=createLinklist(linkList);
40     LinkList LL=listReversal(L);
41     LL = LL->next;
42     while (LL) {
43         cout << LL->data << " ";
44         LL = LL->next;
45     }
46     cout << endl;
47     return 0;
48 }

 

(7)--逆序创建链表及链表反转

标签:

原文地址:http://www.cnblogs.com/dingou/p/5828985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!