Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269884
  • 博文数量: 88
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-20 21:13
文章分类

全部博文(88)

文章存档

2022年(1)

2017年(1)

2016年(2)

2015年(1)

2014年(83)

分类: C/C++

2014-05-22 10:45:30

最近学数据结构,重新看链表,说实话痛苦死了。不过好歹我还是都搞出来了。。
看代码:链表创建和遍历

点击(此处)折叠或打开

  1. #include<stdio.h>
  2. #include<malloc.h>
  3. typedef struct Node{
  4.     int num;
  5.     struct Node *next;
  6. }Node;

  7. int main(){
  8.     Node *p,*head;
  9.     int i=0,num;
  10.     head= (Node *)malloc(sizeof(Node));
  11.     p=head;
  12.     for(i = 0;i<3;i++){
  13.         scanf("%d",&num);
  14.         Node *s = malloc(sizeof(Node));
  15.         s->num = num;
  16.         p->next = s;
  17.         p=s;
  18.     }
  19.     printf("%d",(p == head));

  20.     p = head;

  21.     while(p->next){
  22.         p = p->next;
  23.         printf("%d",p->num);
  24.     }

  25.     return 0;
  26. }
也可以这么写:

点击(此处)折叠或打开

  1. #include<stdio.h>
  2. #include<malloc.h>
  3. typedef struct Node{
  4.     int num;
  5.     struct Node *next;
  6. }Node;

  7. int main(){
  8.     Node *p,*pOld,*head;
  9.     int i=0,num;
  10.     head= (Node *)malloc(sizeof(Node));
  11.     p=head;
  12.     for(i = 0;i<3;i++){
  13.         scanf("%d",&num);
  14.         pOld = p;
  15.         p = malloc(sizeof(Node));
  16.         p->num = num;
  17.         pOld->next = p;
  18.     }

  19.     p = head;
  20.     //printf("%d",p->num);
  21.     while(p->next){
  22.         p = p->next;
  23.         printf("%d",p->num);
  24.     }
  25.     
  26.     return 0;
  27. }

阅读(330) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~