将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针t
第1题
用一个数组S(设大小为MAX)作为两个堆栈的共享空间。请说明共享方法,栈满/栈空的判断条件,并用C或Pascal设计公用的入栈操作push(i,x),其中i为0或1,用于表示栈号,x为入栈值。【浙江大学1998五、2(7分)】
分别用多个顺序存储空间建立多个独立的堆栈;
第2题
第3题
第4题
同时有两个函数:max(i,j)和min(i,j),分别计算下标i和j中的大者与小者。试利用它们给出求任意一个A[i][j]在B中存放位置的公式。
第5题
(13分)设将n(n,1)个整数存放到一维数组R中,试设计一个在时间和空间两方面尽可能有效的算法,将R中保有的序列循环左移P(0﹤P﹤n)个位置,即将R中的数据由(X0 X1 ……Xn-1)变换为(Xp Xp+1 ……Xn-1 X0 X1 ……Xp-1)要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言表述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度
第6题
(1)用cerr<<及exit(1)语句来终止执行并报告错误;
(2)用返回布尔值false,true来实现算法,以区别是正常返回还是错误返[回;
(3)在函数的参数表设置一个引用型的整型变量来区别是正常返回还是某种错误返回。
试讨论这3种方法各自的优缺点,并以你认为是最好的方式实现它。
第7题
第8题
A、226
B、322
C、341
D、342
第9题
A、0≤j≤n-1
B、i-l≤j≤i+1
C、0≤j≤I
D、i≤j≤n
第10题
A.(36) 80
B.240
C.100
D.270