数据l构W三章设计题?qing)参考答案[8]_跨考网
(tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 1. 假设以带头结点的循环链表表示队列Qƈ且只设一个指针指向队点,但不讑֤指针Q如图所C(~者略Q,请写出相应的入队列和出队列算法。?a target="_blank">西安?sh)子U技大学 1999计应?/span> ?/span> Q?/span>10分)(j)?/span>
【参考答案?/span>
本题?sh)上题本质上相同Q现用类C语言~写入队和出队算法?/span>
Q?/span>1Q?/span>void EnQueue (LinkedList rear, ElemType x)
// rear是带头结点的循环N列的指针,本算法将元素x插入到队?/span>
{ s= (LinkedList) malloc (sizeof(LNode)); //甌l点I间
s->data=x; s->next=rear->next; //?/span>sl点铑օ队尾
rear->next=s; rear=s; //rear指向新队?/span>
}
Q?/span>2Q?/span>void DeQueue (LinkedList rear)
// rear是带头结点的循环N列的指针,本算法执行出队操作,操作成功输出队头元素Q否则给出出错信息?/span>
{ if (rear->next==rear) { printf(“队I?/span>\n?/span>); exit(0);}
s=rear->next->next; //s指向队头元素Q?/span>
rear->next->next=s->next; //队头元素出队?/span>
printf (“出队元素是”,s->data);
if (s==rear) rear=rear->next; //I队?/span>
free(s);
}
2. 如果允许在@环队列的两端都可以进行插入和删除操作。要求:(x)
Q?/span>1Q写出@环队列的cd定义Q?/span>
Q?/span>2Q写出“从队尾删除”和“从队头插入”的法。【北方交通大?/span> 1994 ?/span> Q?/span>12分)(j)?/span>
【参考答案?/span>
[题目分析] 用一l数l?/span> v[0..M-1]实现循环队列Q其?/span>M是队列长度。设队头指针 front和队指?/span>rearQ约?/span>front指向队头元素的前一位置Q?/span>rear指向队尾元素。定?/span>front=rear时ؓ(f)队空Q?/span>(rear+1)%m=front 为队满。约定队头端入队向下标小的方向发展,队尾端入队向下标大的方向发展?/span>
Q?/span>1Q?/span>#define M 队列可能辑ֈ的最大长?/span>
typedef struct
{ elemtp data[M];
int front,rear;
} cycqueue;
Q?/span>2Q?/span>elemtp delqueue ( cycqueue Q)
//Q是如上定义的循环队列Q本法实现从队ֈ除,若删除成功,q回被删除元素,否则l出出错信息?/span>
{ if (Q.front==Q.rear) {printf(“队列空?/span>); exit(0);}
Q.rear=(Q.rear-1+M)%M; //修改队尾指针?/span>
return(Q.data[(Q.rear+1+M)%M]); //q回出队元素?/span>
}//从队ֈ除算法结?/span>
void enqueue (cycqueue Q, elemtp x)
// Q是顺序存储的循环队列Q本法实现“从队头插入”元?/span>x?/span>
{if (Q.rear==(Q.front-1+M)%M) {printf(“队满?/span>; exit(0);)
Q.data[Q.front]=x; //x 入队?/span>
Q.front=(Q.front-1+M)%M; //修改队头指针?/span>
}// l束从队头插入算法?/span>
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ(f)23考研的考生准备?0大课包全E准备、全q复?fn)备考计划、目标院校专业辅对{全真复试模拟练?fn)和全程针对性指|2023考研的小伙伴针也已经开始择校和复习(fn)?jin),跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习(fn)Q?/a>暑假集训?/span>带来?jin)院校专业初步选择Q明方向;考研备考全q规划,核心(j)知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
点击右侧咨询?/strong>直接前往?jin)解更?/strong>
考研院校专业选择和考研复习(fn)计划 | |||
2023备考学?/td> | 2023U上U下随时学习(fn) | 34所自划UK校考研复试分数U汇?/td> | |
2022考研复试最全信息整?/a> | 全国各招生院校考研复试分数U汇?/a> | ||
2023全日制封闭训l?/span> | 全国各招生院校考研调剂信息汇?/a> | ||
2023考研先知 | 考研考试U目有哪些? | 如何正确看待考研分数U? | |
不同院校相同专业如何选择更适合自己?/a> | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行?/a> |
相关推荐
跨考考研评
班型 | 定向班型 | 开班时?/td> | 高定?/td> | 标准?/td> | 评介绍 | 咨询 |
U季集训 | 冲刺?/td> | 9.10-12.20 | 168000 | 24800?/td> | 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定? | |
2023集训畅学 | 非定向(政英?数政qQ?/td> | 每月20?/td> | 22800?协议? | 13800?/td> | 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td> |