知识大全 数据结构考研分类复习真题 第三章 答案[28]
Posted 结束
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[28]相关的知识,希望对你有一定的参考价值。
[题目分析]这是以读入数据的顺序为相反顺序进行累乘问题 可将读入数据放入栈中 到输入结束 将栈中数据退出进行累乘 累乘的初值为
PROC test; CONST maxsize= ; VAR s:ARRAY[ maxsize] OF integer top sum a:integer; [top:= ; sum:= ;// read(a); WHILE a<> DO [top:=top+ ; s[top]:=a; read(a); ] write(sum: ); WHILE top> DO [sum:=sum*s[top]; top:=top ; write(sum: );] ENDP;
[题目分析] 本题与第 题基本相同 不同之处就是求和 另外用C描述
int test; int x sum= top= s[]; scanf( %d &x) while (x<> ) s[++top]:=a; scanf( %d &x); printf(sum: ); while (top) sum+=s[top ]; printf(sum: ); ;
int Ack(int m n) if (m== ) return(n+ ); else if(m!= &&n== ) return(Ack(m )); else return(Ack(m Ack(m m )); //算法结束
( )Ack( )的计算过程 Ack( )=Ack( Ack( )) //因m<> n<> 而得 =Ack( Ack( )) //因m<> n= 而得 =Ack( Ack( Ack( ))) // 因m<> n<> 而得 = Ack( Ack( Ack( ))) // 因m<> n= 而得 =Ack( Ack( )) // 因m= 而得 =Ack( ) // 因m= 而得 =Ack( Ack( )) //因m<> n<> 而得 = Ack( Ack( Ack( ))) //因m<> n<> 而得 = Ack( Ack( Ack( Ack( )))) //因m<> n<> 而得 = Ack( Ack( Ack( Ack( )))) //因m<> n= 而得 = Ack( Ack( Ack( ))) //因m= 而得 = Ack( Ack( )) //因m= 而得 = Ack( ) //因n= 而得 = //因n= 而得
( )int Ackerman( int m int n) int akm[M][N];int i j; for(j= ;j<N;j++) akm[ ][j];=j+ ; for(i= ;i<m;i++) akm[i][ ]=akm[i ][ ]; for(j= ;j<N;j++) akm[i][j]=akm[i ][akm[i][j ]]; return(akm[m][n]); //算法结束
cha138/Article/program/sjjg/201311/22694相关参考
见上题的解答 参见上面题 typedefstructnode elemtypeelemcq[m]; //m为队列最大可能的容量 intfrontrear;
typedefstruct elemtpq[m]; intfrontcount; //front是队首指针count是队列中元素个数 cqnode; &nbs
[题目分析]本题与上面题基本相同现用类C语言给出该双端队列的定义 #definemaxsize typedefstruct datatypeelem[maxsize]; int
加()%()=个虚段 总读写次数为*wpl=次 类似叙述()()()略cha138/Article/program/sjjg/201311/23190
#definemaxsize栈空间容量 voidInOutS(ints[maxsize]) //s是元素为整数的栈本算法进行入栈和退栈操作 inttop=;  
s=(LinkedList)malloc(sizeof(LNode))s>data=x;s>next=r>nextr>next=sr=s 牺牲一个存储单元 &n
既不能由输入受限的双端队列得到也不能由输出受限的双端队列得到的输出序列是dbca () () &nbs
本题与上题本质上相同现用类C语言编写入队和出队算法 ()voidEnQueue(LinkedListrearElemTypex) //rear是带头结点的循环链队列的尾指针本算法将元素x插入到
intMaxValue(inta[]intn)//设整数序列存于数组a中共有n个本算法求解其最大值 if(n==)max=a[]; elseifa[n]>MaxValue(an)max=
n+ top[]+=top[] 两栈顶指针值相减的绝对值为(或两栈顶指针相邻) ()满 ()空 ()n ()栈底 ()两栈顶指针相