码迷,mamicode.com
首页 > 其他好文 > 详细

顺序表与链表的基本操作

时间:2016-05-20 22:11:46      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

SqList

typedef struct
{
    ElemType *elem;   //存储空间基址
    int length;           //当前长度
    int listsize;          //当前容量
}SqList ;

L->elem = (ElemType*)mallloc(LIST_INIT_SIZE*sizeof(ElemType));L->length = 0;L->listsize = LIST_INIT_SIZE;

L->elem = (ElemType*)realloc(L->elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));

if(NULL == L->elem) exit(OVERFLOW);

销毁操作  free(L->elem); L->elem = NULL;L->length = L->listsize = 0;

顺序表,顺序存储,初始化操作为顺序表分配一个预定义大小的数组空间;因插入元素导致空间不足可进行再分配(realloc);

 

 

LinkListt

typedef struct LNode

{
    ElemType data;
    struct LNode *next;
}LNode,*LinkList ;

L = (LinkList)malloc(sizeof(LNode));L->next = NULL;
销毁Destroy  p = L;L = L->next;free(p); 清空Clear 只保留头结点;

链表,创建结点与释放结点,结点带数据与指针两个信息;

 

 

综:考虑插入、删除操作是否合理,否则exit(ERROR);考虑存储分配是否成功(SqList),否则exit(OVERFLOW);

顺序表与链表的基本操作

标签:

原文地址:http://www.cnblogs.com/JHarden/p/5513419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!