关闭

链表操作(1)

标签: 数据结构
94人阅读 评论(0) 收藏 举报
分类:

0.数据结构定义

struct Node;
typedef struct Node *PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;

struct Node{
    ElementType Element;
    Position Next;
};

1. 判断链表是够为空

//return true if L is empty
int isEmpty(List L){
    return L->Next==NULL;
}

2.判断是否是最后一个位置

int isLast(Position p, List L){
    return p->Next == NULL;
}

3.查询

Position find(ElementType x, List L){
    Position p;
    p=L->Next;
    while(P!=NULL && P->Element != X){
        P=P->Next;
    }
}

4.删除

void delete(Element X, List L){
    Position P, tmpCell;
    P=FindPrevious(X, L);
    if(!isLast(P, L)){
        tmpCell=P->Next;
        P->Next=tmp->Next;
        free(tmpCell);
    }
}
Position FindPrevious(Element X, List L){
    Position P;
    P=L;
    while(P->Next!=NULL&&P->Next->Element!-X){
        P=P->Next;
    }
}

5.插入

void Insert(ElementType X, List L, Position P){
    Position TmpCell;
    TmpCell=malloc(sizeof(struct Node));
    if(TmpCell==NULL){
        FatalError("out of space!!!");
    }
    TmpCell->Element=X;
    TmpCell->Next=P->Next;
    P->Next=TmpCell;
}
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2016次
    • 积分:169
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:5篇
    • 译文:0篇
    • 评论:0条
    文章存档