三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 310|回复: 0

单向链表

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
发表于 2017-8-22 09:07:50 | 显示全部楼层 |阅读模式
  1. #include<stdio.h>
  2. #include<malloc.h>

  3. #define NULL 0
  4. #define LEN sizeof(List)

  5. typedef struct node
  6. {
  7.     int data;
  8.     struct node * next;
  9. }List;
  10. int n=0;

  11. List *create(void)
  12. {
  13.     List * head;
  14.     List * p1,* p2;
  15.     p1=(List*)malloc(LEN);
  16.     p2=(List*)malloc(LEN);
  17.     head=NULL;
  18.     puts("请输入要插入链表的数据(输入0结束):\n");
  19.     scanf("%d",&p1->data);
  20.     while(p1->data!=0)
  21.     {
  22.         n++;
  23.         if(n==1)
  24.             head=p1;
  25.         else
  26.             p2->next=p1;
  27.         p2=p1;
  28.         p1=(List*)malloc(LEN);
  29.         scanf("%d",&p1->data);
  30.     }
  31.     free(p1);
  32.     p2->next=NULL;
  33.     return head;
  34. }

  35. void Print(List * head)
  36. {
  37.     List * p;
  38.     p=head;
  39.     if(head!=NULL)
  40.         do
  41.         {
  42.             printf("[%d]->",p->data);
  43.             p=p->next;
  44.         }while(p!=NULL);
  45. }

  46. int main()
  47. {
  48.     int m;
  49.     List * head;
  50.     List * pa=(List*)malloc(LEN), *pb=(List*)malloc(LEN);
  51.     List * p1,*p2;

  52.     head=create();
  53.     Print(head);
  54.     printf("\n");

  55.    
  56.     p1=head;
  57.     pa=p1;
  58.     p2=p1->next;
  59.     pb=p2;

  60.     while(p2->next!=NULL)
  61.     {
  62.         p1->next=p1->next->next;
  63.         p1=p2->next;
  64.         if(p1->next==NULL)
  65.             break;
  66.         p2->next=p2->next->next;
  67.         p2=p1->next;
  68.     }
  69.     p1->next=NULL;
  70.     p2->next=NULL;

  71.     Print(pa);
  72.     printf("NULL\n");
  73.     Print(pb);
  74.     printf("NULL\n");
  75.     //return 0;

  76.     scanf("%d", &m);
  77. }
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-11-18 19:04 , Processed in 0.028012 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表