当前位置:网站首页>严蔚敏第二章课后习题(2.29-2.38)
严蔚敏第二章课后习题(2.29-2.38)
2022-07-21 11:22:00 【我辈当自强】
2.29
//在A中删除既在B中出现又在C中出现的元素,结果放在D中
Status ListUnion(SqList &D,SqList &A,SqList &B,SqList &C)
{
SqList Temp;
InitList(Temp);
ListCross(B,C,Temp);
ListMinus(A,Temp,D);
}
2.30
//在A中删除既在B中出现又在C中出现的元素,并释放B、C
Status ListUnion(LinkList &A,LinkList &B,LinkList &C)
{
ListCross(B,C);
ListMinus(A,B);
}
//求集合A-B,结果放在A表中,并删除B表
Status ListMinus(LinkList &A,LinkList &B)
{
LinkList pa,pb,qa,qb,pt;
pa=A;
pb=B;
qa=pa;
qb=pb;
pa=pa->next;
pb=pb->next;
while(pa&&pb){
if(pb->data<pa->data){
pt=pb;
pb=pb->next;
qb->next=pb;
free(pb);
}
else
if(pb->data>pa->data){
qa=pa;
pa=pa->next;
}
else{
pt=pa;
pa=pa->next;
qa->next=pa;
free(pt);
}
}
while(pb){
pt=pb;
pb=pb->next;
qb->next=pb;
free(pt);
}
pb=B;
free(pb);
return OK;
}
2.31
//在单循环链表S中删除S的前驱结点
Status ListDelete(LinkList &S)
{
LinkList p,q;
if(S==S->next) return ERROR;
q=S;
p=S->next;
while(p->next!=S){
q=p;
p=p->next;
}
q->next=p->next;
free(p);
return OK;
}
2.32
//建立一个空的循环链表
Status InitList(DuLinkList &L)
{
L=(DuLinkList)malloc(sizeof(DuLNode));
if(!L) exit(OVERFLOW);
L->pre=NULL;
L->next=L;
return OK;
}
//向循环链表中插入一个结点
Status ListInsert(DuLinkList &L,ElemType e){
DuLinkList p;
p=(DuLinkList)malloc(sizeof(DuLNode));
if(!p) return ERROR;
p->data=e;
p->next=L->next;
L->next=p;
return OK;
}
//将单循环链表改成双向链表
Status ListCirToDu(DuList &L)
{
DuLinkList p,q;
q=L;
p=L->next;
while(p!=L){
p->pre=q;
q=p;
p=p->next;
}
if(p==L) p->pre=q;
return OK;
}
2.33
Status ListDivideInto3CL(LinkList &L,LinkList &S1,LinkList &S2,LinkList &S3)
{
LinkList p,q,pt1,pt2,pt3;
p=L->next;
pt1=s1;
pt2=s2;
pt3=s3;
while(p){
if(p->data>='0'&&p->data<='9'){
q=p;
p=p->next;
q->next=pt1->next;
pt1->next=q;
pt1=pt1->next;
}
else
if((p->data>='A'&&p->data<='Z')||(p->data>='a'&&p->data<='z')){
q=p;
p=p->data;
q->next=pt2->next;
pt2->next=q;
pt2=pt2->next;
}
else{
q=p;
p=p->next;
q->next=pt3->next;
pt3->next=q;
pt3=pt3->next;
}
}
q=L;
free(q);
return OK;
}
边栏推荐
- 线程理论知识
- 二月天
- The use of anonymous inner classes in development
- Gsyvideoplayer slide refresh video
- Serial Vector Format(SVF)文件格式
- SCA在得物DevSecOps平台上应用
- 定时任务框架
- Compilation Principle Experiment 1 -- principle and implementation of lexical analysis program design
- Yan's plug 'n' play feature
- Idea publishes executable jar packages
猜你喜欢
随机推荐
IDEA 2020.1 取消参数名称显示
Cadence OrCAD Capture TCL/TK脚本实例
Flink reports an error when executing SQL using API
生物制药安全供电保生产
Sequences, Time Series and Prediction in Tessorflow quizs on Coursera (二)
Browser cache mechanism resolution
xxl-job源码阅读笔记
莫名其妙的越界错误原因之条件判断顺序——基于LeetCode 99题,恢复二叉搜索树
百度副总裁李硕:AI能深入场景创造真价值,从传感器到大屏仅是数字化开始...
[39题] 牛客深度学习专项题
Advanced Fruits(公共子序列)
NFTScan 与 Port3 在 NFT 数据领域达成战略合作
Record the problem of removing the limit of the number of connections at one time
MySQL 5.7.9版本sql_mode=only_full_group_by问题
System
Advanced fruits (common subsequence)
初识数据库
Application of SCA on devsecops platform
JS部分
Athlete and coach case code