单项选择(2015年春程序员软考)

序列【 】可能是第一趟冒泡排序后的结果。

A、40 10 20 30 70 50 60

B、20 30 10 40 70 50 60

C、30 10 40 20 70 60 50

D、20 30 10 40 60 50 70

答案解析

Dn个记录进行冒泡排序的方法是:首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两个记录的值,然后比较第二个记录和第三个记录的关键字,以此类推,直至第n-1个记录和第n个记录的关键字比较完为止。上述过程称作一趟冒泡...

查看完整答案

讨论

根据枢轴元素(或基准元素)划分序列而进行排序的是【 】。

设有关键码序列(10,40,30,20),根据该序列构建的二叉排序树是【 】。

某图G的邻接表如下所示。以下关于图G的叙述中,正确的是【 】。

在一个线性表上可以进行二分查找(折半查找)的充分必要条件是【 】。

若元素a、b、c、d、e、f依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是【 】。

对于顺序栈和链栈,【 】不是两者共有的运算特征。

含有n个元素的线性表采用顺序存储,等概率删除其中任一个元素,平均需要移动【 】个元素。

已知字符串s='(X+Y)*Z',其中,单引号不是字符串的内容,经过以下运算后,t3的值是【 】。t1= SubString(s,3,1)t2=Concat('XY', t1)t3=Replace(s,SubString(s,1,5),t2)注: SubString(s,k,n)表示从串s的第k个字符开始取出长度为n的子串, Concat(s,t)表示将串t连接在s之后, Replace(s,t,r)表示用r替换串s中的子串t。

在解决计算机与打印机之间速度不匹配的问题时,通常设置一个打印数据缓冲区,计算机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区取出数据。因此,该缓冲区的数据结构应该是【 】。

算术表达式a+(b-c)*d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。