2019年06月17日
阅读 568
评论 0
喜欢 0
单链表的存储结构
typedef int ElemType;
struct LinkList {
ElemType data;
struct LinkList *next;
};
采用头插法建立单链表
void CreateListF(LinkList *&L,ElemType a[],int n) {
LinkList *s;
int i;
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
for(i=0; i<n; i++) {
s=(LinkList *)malloc(sizeof(LinkList));
s->data=a[i];
s->next=L->next;
L->next=s;
}
}
采用尾插法建立单链表
void CreateListR(LinkList *&L,ElemType a[],int n) {
LinkList *s,*r;
int i;
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
r=L;
for(i=0; i<n; i++) {
s=(LinkList *)malloc(sizeof(LinkList));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
按元素值查找算法
int LocateElem(LinkList *L,ElemType e) {
LinkList *p=L->next;
int n=1;
while(p!=NULL && p->data!=e) {
p=p->next;
n++;
}
if(p==NULL) return 0;
else return n;
}
暂无评论