静态链表操作如何举例说明成一个长尾词的?

2026-04-10 08:582阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计594个文字,预计阅读时间需要3分钟。

静态链表操作如何举例说明成一个长尾词的?

1. 静态链表初始化

2.malloc函数实现

3.静态链表长度

4.静态链表插入操作

5.free函数实现

6.静态链表删除操作

7.求集合运算(A-B)∪(B-A)

1.静态链表的初始化

2.malloc()函数实现

3.静态链表长度

4.静态链表的插入操作

5.free()函数实现

6.静态链表的删除操作

7.求集合运算(A-B)U(B-A)

由终端输入集合元素,先建立表示集合A的静态链表S,而后输入集合B的元素

静态链表操作如何举例说明成一个长尾词的?

同时查找S表,若存在和B相同的元素则从S表中删除之,否则将此元素插入S表。

#define MAXSIZE 1000 #define OK 1 #define ERROR 0 #include<stdio.h> typedef char ElemType; typedef int Status; typedef struct { ElemType data; int cur; }Component,SLinkList[MAXSIZE]; Status InitList(SLinkList space) { int i; for(i=0;i<MAXSIZE-1;i++) { space[i].cur=i+1; } space[MAXSIZE-1].cur=0; return OK; } int Malloc_SL(SLinkList space) { int i; i=space[0].cur; if(space[0].cur) space[0].cur=space[i].cur; return i; } int ListLength(SLinkList L) { int j=0; int i; i=L[MAXSIZE-1].cur; while(i) { i=L[i].cur; j++; } return j; } Status ListInsert(SLinkList L,int i,ElemType e) { int j,k,l; k=MAXSIZE-1; if(i<1||i>ListLength(L)+1) return ERROR; j=Malloc_SL(L);//获得空闲分量的下标 if(j) { L[j].data=e; for(l=1;l<=i-1;l++) k=L[k].cur; L[j].cur=L[k].cur; L[k].cur=j; return OK; } return ERROR; } int Free_SL(SLinkList space,int k) { space[k].cur=space[0].cur; space[0].cur=k; return 0; } Status ListDelete(SLinkList L,int i) { int j,k; if(i<1||i>ListLength(L)) return ERROR; k=MAXSIZE-1; for(j=1;j<=i-1;j++) k=L[k].cur; j=L[k].cur; L[k].cur=L[j].cur; Free_SL(L,j); return OK; } void difference(Component *space,int *s){ int r,i,j,p,k; int m,n; char ch; InitList(space); *s=Malloc_SL(space); r=*s; scanf("%d%d",&m,&n); for(j=1;j<=m;j++) { i=Malloc_SL(space); scanf("%c",&space[i].data); space[r].cur=i; r=i; } space[r].cur=0; for(j=1;j<=n;j++) { scanf("%c",&ch); p=*s; k=space[*s].cur; while(k!=space[r].cur&&space[k].data!=ch) { p=k; k=space[k].cur; } if(k==space[r].cur) { i=Malloc_SL(space); space[i].data=ch; space[i].cur=space[r].cur; space[r].cur=i; } else { space[p].cur=space[k].cur; Free_SL(space,k); if(r==k) r=p; } } } int main() { SLinkList sl; int x,y; Component p; difference(sl,&x); y=sl[x].cur; while(y) { printf("%c",sl[y].data); y=sl[y].cur; } return 0; }


标签:初始化

本文共计594个文字,预计阅读时间需要3分钟。

静态链表操作如何举例说明成一个长尾词的?

1. 静态链表初始化

2.malloc函数实现

3.静态链表长度

4.静态链表插入操作

5.free函数实现

6.静态链表删除操作

7.求集合运算(A-B)∪(B-A)

1.静态链表的初始化

2.malloc()函数实现

3.静态链表长度

4.静态链表的插入操作

5.free()函数实现

6.静态链表的删除操作

7.求集合运算(A-B)U(B-A)

由终端输入集合元素,先建立表示集合A的静态链表S,而后输入集合B的元素

静态链表操作如何举例说明成一个长尾词的?

同时查找S表,若存在和B相同的元素则从S表中删除之,否则将此元素插入S表。

#define MAXSIZE 1000 #define OK 1 #define ERROR 0 #include<stdio.h> typedef char ElemType; typedef int Status; typedef struct { ElemType data; int cur; }Component,SLinkList[MAXSIZE]; Status InitList(SLinkList space) { int i; for(i=0;i<MAXSIZE-1;i++) { space[i].cur=i+1; } space[MAXSIZE-1].cur=0; return OK; } int Malloc_SL(SLinkList space) { int i; i=space[0].cur; if(space[0].cur) space[0].cur=space[i].cur; return i; } int ListLength(SLinkList L) { int j=0; int i; i=L[MAXSIZE-1].cur; while(i) { i=L[i].cur; j++; } return j; } Status ListInsert(SLinkList L,int i,ElemType e) { int j,k,l; k=MAXSIZE-1; if(i<1||i>ListLength(L)+1) return ERROR; j=Malloc_SL(L);//获得空闲分量的下标 if(j) { L[j].data=e; for(l=1;l<=i-1;l++) k=L[k].cur; L[j].cur=L[k].cur; L[k].cur=j; return OK; } return ERROR; } int Free_SL(SLinkList space,int k) { space[k].cur=space[0].cur; space[0].cur=k; return 0; } Status ListDelete(SLinkList L,int i) { int j,k; if(i<1||i>ListLength(L)) return ERROR; k=MAXSIZE-1; for(j=1;j<=i-1;j++) k=L[k].cur; j=L[k].cur; L[k].cur=L[j].cur; Free_SL(L,j); return OK; } void difference(Component *space,int *s){ int r,i,j,p,k; int m,n; char ch; InitList(space); *s=Malloc_SL(space); r=*s; scanf("%d%d",&m,&n); for(j=1;j<=m;j++) { i=Malloc_SL(space); scanf("%c",&space[i].data); space[r].cur=i; r=i; } space[r].cur=0; for(j=1;j<=n;j++) { scanf("%c",&ch); p=*s; k=space[*s].cur; while(k!=space[r].cur&&space[k].data!=ch) { p=k; k=space[k].cur; } if(k==space[r].cur) { i=Malloc_SL(space); space[i].data=ch; space[i].cur=space[r].cur; space[r].cur=i; } else { space[p].cur=space[k].cur; Free_SL(space,k); if(r==k) r=p; } } } int main() { SLinkList sl; int x,y; Component p; difference(sl,&x); y=sl[x].cur; while(y) { printf("%c",sl[y].data); y=sl[y].cur; } return 0; }


标签:初始化