接口头文件
/*
* 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;
}
就写这么多了有时间再更新