《C++抽象数据类型线性表的实现源代码》由会员分享,可在线阅读,更多相关《C++抽象数据类型线性表的实现源代码(4页珍藏版)》请在金锄头文库上搜索。
1、/*抽象数据类型线性表的实现*/*JXN/2010/10/23/*/#include #include #include #include #include#define FALSE 0; #define ERROR 0; #define OK 1; #define TURE 1; typedef int Status; /*线性表的动态分配顺序存储结构*/#define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedef int ElemType; typedef structElemType *elem; int length; int
2、listsize; SqList;Status InitList(SqList if(!L.elem) coutelem) free(L-elem); return OK; Status ClearList(SqList return OK; Status ListEmpty(SqList L) /判空 if(L.length=0)return TURE;return FALSE; Status ListLength(SqList L) /长度 int Len=L.length; return Len; Status GetElem(SqList L,int i,int if(L.length
3、=L.listsize)int * newbase = (int *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int);if(!newbase) return ERROR;L.elem = newbase;L.listsize += LISTINCREMENT;int *q = for(int *p=pq;-p) *(p+1)=*p;*q=e;+L.length;return OK; Status ListDelete(SqList int *p= e=*p;int *q = L.elem + L.length;for(+p;pq;+p) *(p-1)=*p;-L.length;return OK; Status ListTraverse(SqList L,int(* visit)(int e) /调用 for(int i=0;iL.length;i+)visit(L.elemi);return OK; void main() /主函数 ;/