接口头文件
/* * linklist.h * * Created on: 2012-11-11 * Author: inner */ #ifndef LINKLIST_H_ #define LINKLIST_H_ #include <stdbool.h> #define SIZE 30 //struct film{ // char title[SIZE]; // int rating; //}; //typedef struct film Item; typedef int Elem; typedef struct node{ Elem elem; struct node *next; } Node; typedef Node *linkList; /*初始化链表*/ void InitializeList(linkList *list); /* 添加节点*/ void addNodeList(linkList *list,Elem elem); /*获取节点数量*/ int getListCount(linkList *list); #endif /* LINKLIST_H_ */
实现源文件
/* * link.c * * Created on: 2012-11-11 * Author: inner */ #include<stdio.h> #include <stdlib.h> #include"linklist.h" void InitializeList(linkList *list){ *list = NULL; } void addNodeList(linkList *list, int elem){ Node *p;//下一节点 Node *list1 = *list; p =(Node *)malloc(sizeof(Node)); p->elem = elem; p->next = NULL; /*判断头结点是否空*/ if(list1 == NULL){ *list= p; } else{ while(list1->next != NULL) list1 = list1->next; list1->next = p; } } int getListCount(linkList *list){ int count = 0; Node *node = *list; while(node->next!=NULL){ ++count; node = node->next; } return count; }
就写这么多了有时间再更新