现在的位置: 首页 > 综合 > 正文

c 链表

2012年11月03日 ⁄ 综合 ⁄ 共 941字 ⁄ 字号 评论关闭

接口头文件

/*
 * 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;
}

就写这么多了有时间再更新

抱歉!评论已关闭.