您好,欢迎访问三七文档
第三章习题二、算法设计题2.设以数组se[m]存放循环队列的元素,同时设变量rear和front分别作为队头对尾的指针,且队头指针指向队头前一个位置,写出这样设计的循环队列入队出队的算法。入队算法:intin_csequeue1(datatypese[],int*rear,int*front,datatypex){if((*rear+1)%m==*front)return0;else{*rear=(*rear+1)%m;se[*rear]=x;return1;}}出队算法:intout_csequeue1(datatypese[],int*rear,int*front,datatype*x){if(*rear==*front)return0;else{*front=(*ftont+1)%m;*x=se[*front];return1;}}3.假设以数组se[m]存放循环队列的元素,同时设变量rear和num分别作为队尾指针和队中元素个数记录,是给出判断此循环队列的队满条件。写出这样设计的循环队列入队出队的算法。入队算法:intin_csequeue2(datatypese[],int*rear,int*num,datatype*x){if(*num==m)return0;else{*rear=(*rear+1)%m;se[*rear]=x;*num++;return1;}}出队算法:intout_csequeue2(datatypese[],intrear,int*num,datatype*x){if(*num==0)return0;else{*x=se[(rear-*num+1)%m];num--;return1;}}6.写一个算法,借助于栈将一个单链表置逆。voidconvert(linklist*L){Lnode*p,*q;seqstack*s;p=L;while(p){in_seqstack(s,p-data)p=p-next;}p=L;while(!empty_seqstack(s)){p-data=pop_seqstack(s);p=p-next;}}
本文标题:第三章习题答案
链接地址:https://www.777doc.com/doc-1500448 .html