17 - 01 - 02 单链表的逆置
来源:互联网 发布:网络同步时间在线 编辑:程序博客网 时间:2024/06/18 10:27
/*单链表的逆置 是面试官非常青睐的题,这个题可以看出面试者对链表和指针的操作*/ /*代码如下*/#include <stdio.h>#include <stdlib.h>typedef struct node{ int data; struct node*next;} Node;//创建链表Node *CreatList(void) { int i, n; Node *head, *p, *q; head = NULL; printf("输入要建立的链表长度:\n"); scanf("%d",&n); printf("输入数据:\n"); for(i=0; i<n; ++i) { p = (Node *)malloc(sizeof(Node)); scanf("%d", &p->data); if(!p) exit (0); if(!head) //先要执行这一步让head不为空 q = head = p; else { q->next = p; //q = head;第一个节点建立。 q = p; //1、 } }*****思想:/*用p,q指向单链表中相邻的两节点,将r指向q的下一个结点,然后同步后移。当q=NULL时,表示指向原单链表的尾结点,将L的next域指向p即可*///链表的逆置Node *ReverseList(Node *head) { Node *p, *q, *r; p = head; q=r=NULL; while(p) { q = p->next; //最后一趟循环,p->next==NULL p->next = r; printf("%p\n",r); printf("%p\n",p->next); r = p; printf("%p\n\n",r); p = q; } return r;}
1 0
- 17 - 01 - 02 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- RecyclerView 滑动到指定位置
- Python学习笔记 --- 深入理解字符串
- ubuntu搭建内网dns服务器
- Git(GitHub) 003 如何 clone 非 master 分支的代码 — 切换到指定 branch分支 或者 tag版本
- 2、QT中创建一个Button
- 17 - 01 - 02 单链表的逆置
- sicily SPAM
- 51nod 1001 数组中和等于K的数对
- HTTP/2服务端与客户端例子(Go)
- Eclipse和Myeclipse断点调试
- Jspget传参数乱码问题
- 3、容器的使用
- accept()返回的套接字绑定哪个端口 新旧套接字的联系
- Jquery-层次选择器