就是数据结构的单链表代码
#include <stdio.h>#include <stdlib.h>#include <string.h>typedef structSingleNode{ ElemType data; structSingleNode *next;}SingleLinkedList,*Linklist;//定义单链表结点的结构体void ListInitialize(SingleLinkedList **head){ if((*head=(SingleLikedList *)malloc(sizeof(SingleLikedList)))==NULL) exit(1); (*head)->next=NULL;}//单链表初始化int ListLength(SingleLikedList *head){ SingleLikedList *p=head; int size=0; while(p->next!=NULL) { p=p->next; size++; } return size;}//求线性表长度int ListGet(SingleLikedList *head,int i,ElemType *x){ SingleLikedList *p; int j; p=head; j=-1; while(p->next!=NULL&j<i) { p=p->next; j++; } if(j!=i) { printf("取元素位置参数错!"); return 0; } *x=p->data; return 1;}//取数据元素
这样?
LinkedList.c文件:
#include
#include
#include
#include ”LinkedList.h“
void ListInitialize(SingleLinkedList **head)
{
if((*head=(SingleLikedList *)malloc(sizeof(SingleLikedList)))==NULL)
exit(1);
(*head)->next=NULL;
}//单链表初始化
int ListLength(SingleLikedList *head)
{
SingleLikedList *p=head;
int size=0;
while(p->next!=NULL)
{
p=p->next;
size++;
}
return size;
}//求线性表长度
int ListGet(SingleLikedList *head,int i,ElemType *x)
{
SingleLikedList *p;
int j;
p=head;
j=-1;
while(p->next!=NULL&jnext;
j++;
}
if(j!=i)
{
printf("取元素位置参数错!");
return 0;
}
*x=p->data;
return 1;
}//取数据元素
把代码直接保存在同一个目录下的LinkedList.h中
LinkedList.h的内容只有:
typedef structSingleNode {然后代码就
#include"LinkedList.h"