文档介绍:求一个简单的线性表(链式的,用 C 语言) 2009-4-1 22:15 提问者: 我是编程小子| 浏览次数: 952 次| 该问题已经合并到>> 求一个简单的线性表(链式的),有基本的创建,删除,插入,输出功能。谢谢。我来帮他解答检举| 2009-4-2 11:14 满意回答#include<> #include <> #include <> /************************************************************************/ /*常量定义*/ /************************************************************************/ #define ElemType int #define Status int #define TRUE 1 #define OK 1 #define FALSE 0 #define ERROR -1 /************************************************************************/ /*线性表的单链表存储结构*/ /************************************************************************/ typedef struct LNode { ElemType data; struct LNode *next; }LNode, *LinkList; ////////////////////////////////////////////////////////////////////////// // //带有头结点的单链表的基本操作(13 个) // ////////////////////////////////////////////////////////////////////////// /************************************************************************/ /*操作结果:构造一个空的线性表 L */ /************************************************************************/ void InitList(LinkList *L) { *L= (LinkList)malloc(sizeof(struct LNode)); /*产生头结点,并使 L指向此头结点*/ if( !*L ) /*存储分配失败*/ exit(OVERFLOW); (*L)->next = NULL; /*指针域为空*/ } /************************************************************************/ /*初始条件:线性表 L已存在。*/ /*操作结果:销毁线性表 L */ /************************************************************************/ void DestroyList(LinkList *L) { LinkList q; while(*L) {q= (*L)->next; free(*L); *L=q; }} /************************************************************************/ /*初始条件:线性表 L已存在。*/ /*操作结果:将 L重置为空表*/ /************************************************************************/ void ClearList(LinkList L) /*不改变 L */ { LinkList p, q; p= L->next; /*p指向第一个结点*/ while(p) /*没到表尾*/ {q= p->next; free(p); p= q;} L->next = NULL; /*头结点指针域为空*/ } /************************************************************************/ /*初始条件:线性表 L已存在。*/ /*操作结果:若 L为空表,则返回 TRUE ,否则返回 FALSE */ /***********************************