4-1 单链表逆转
来源:互联网 发布:宿迁市12345网络问政 编辑:程序博客网 时间:2024/05/29 13:32
//真让人头大,这题debug了一个点。。。typedef struct Node *PtrToNode;struct Node {int Data; /* 存储结点数据 */PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类型 */List Reverse(List L) {PtrToNode p1, p2, p3;if (L == NULL) return NULL;p1 = L;if (p1->Next == NULL) return L;else if (p1->Next->Next == NULL) {p2 = p1->Next;p2->Next = p1;p1->Next = NULL;return p2;}else {p2 = p1->Next;p3 = p2->Next;}while (p3 != NULL) {if(p1 == L) p1->Next = NULL;p2->Next = p1;p1 = p2;p2 = p3;p3 = p3->Next;}p2->Next = p1;return p2;}List Reverse(List L) {List p1, p2, p3;if (L == NULL || L->Next == NULL) return L;else if (L->Next->Next == NULL) {p2 = L->Next;p2->Next = L;L->Next = NULL;}else {p1 = L;p2 = p1->Next;p3 = p2->Next;p1->Next = NULL;while (p3 != NULL) {p2->Next = p1;p1 = p2;p2 = p3;p3 = p3->Next;}p2->Next = p1;}return p2;}void Print(List L) {List p = L;while (p != NULL) {printf("%d ", p->Data);p = p->Next;}puts("");}List Read() {int n;scanf("%d", &n);if (!n) return NULL;List head, p1, p2;head = (List)malloc(sizeof(struct Node));p1 = head;//printf("head = %p\n", head);for(int i = 0; i < n; ++i) {//printf("p = %p\n", p1);int x;scanf("%d", &x);p1->Data = x;p1->Next = (List)malloc(sizeof(struct Node));p2 = p1;p1 = p1->Next;}//p1 = NULL;p1 = NULL不代表privious的next = null嗷嗷嗷p2->Next = NULL;return head;}int main() {#ifdef _DEBUG//IN(); OUT();#endifList L1, L2;L1 = Read();Print(L1);L2 = Reverse(L1);Print(L1);Print(L2);return 0;}
阅读全文
0 0
- 4-1单链表逆转
- 4-1 单链表逆转
- 4-1 单链表逆转
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 6-1 PTA 单链表逆转
- 单链表逆转
- 逆转单链表
- 单链表逆转
- 逆转单链表
- 单链表逆转
- 单链表逆转
- 单链表逆转
- tcp_receive函数分析
- C语言在程序中内存
- 修改提交文件的input类型为file控件的样式
- TCP UDP IP 报头
- -----概率DP ZOJ 3822- Domination
- 4-1 单链表逆转
- obj文件格式
- 浅析H5中的WebSocket对象,创建 一个基于node的TCP网络协议的通讯协议
- Java连接数据库(开发)
- 在已有get,post情况下,为什么我们需要delete和put?
- 【USACO】iCow播放器
- 为什么linux下多线程程序如此消耗虚拟内存
- 2017.07.15【NOIP提高组】模拟赛B组小结
- 8. String to Integer (atoi)