| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
aiguang
10年前发布

C语言实现的链表结构

最近没事学学C语言的编程,通过指针编写了一个链表结构,代码比较简单,不做介绍,详细代码如下:

/*    * File:   main.c   * Author: wuguowei   *   * Created on 2015年2月12日, 上午11:54   */    #include <stdio.h>  #include <stdlib.h>      #define LEN sizeof(struct Student)    struct Student {      long num;      float score;      struct Student *next;  };      int n;    struct Student * create(void) {      struct Student *head;      struct Student *p1, *p2;      n = 0;      p1 = p2 = (struct Student *) malloc(LEN);      scanf("%ld,%f", &p1->num, &p1->score);      head = NULL;      while (p1->num != 0) {          n = n + 1;          if (n == 1) {              head = p1;          } else {              p2->next = p1;          }          p2 = p1;          p1 = (struct Student *) malloc(LEN);          scanf("%ld,%f", &p1->num, &p1->score);      }      p2->next = NULL;      return head;    }    void print(struct Student *head) {            struct Student *p;      printf("\nNow,These %d records are:\n", n);      p = head;      if (head != NULL) {          do {              printf("%ld %5.1f\n", p->num, p->score);              p = p->next;          } while (p != NULL);        }  }    /*   *    */  int main(int argc, char** argv) {      struct Student * pt;      pt = create();        print(pt);        return (EXIT_SUCCESS);  }

执行结果:

输入:  1001,89.3  1002,99  1003,79.4  1004,99.8  0,0    Now,These 4 records are:  1001  89.3  1002  99.0  1003  79.4  1004  99.8    运行 FINISHED; 退出值0; 实时:  37s; 用户:  0ms; 系统:  0ms