举一反三
- 设计一个算法,从线性表中删除自第i个元素开始的k个元素,其中线性表用顺序表L存储。
- 设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素
- 一含N个元素的顺序表,若在第i个元素之前插入一个元素,需移动____个元素。
- 设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中(____)个数据元素
- 对于具有n个元素的线性表,算法___在单链表上实现要比在顺序表上实现效率更高。 A: 删除所有值为x的元素 B: 在最后一个元素的后面插入一个新元素 C: 顺序输出前k个元素 D: 第i个元素与第n-i-1个元素交换
内容
- 0
在一个长度为n的顺序表中删除第i(0≤i≤n一1)个元素,需向前移动( )个元素。
- 1
已知Q是一个非空队列,S是一个空栈。仅用队列和栈的ADT函数和少量工作变量,使用 PASCAl或C语言编写一个算法,将队列Q中的所有元素逆置。的ADT函数有:makeEmpty ( s: stack ) ;//置空栈push ( s :stack ; value:datatype ) ;//新元素value入栈pop ( s : stack ) :datatype;//出栈,返回栈顶值isEmpty ( s :stack ) : Boolean ;//判栈空否队列的ADT函数有:enQueue( q:queue:value:datatype);//元素value进队deoueue (q:queue ) : datatype ;//出队列,返回队头值isEmpty(q:queue ) : boolean ;//判队列空否
- 2
设顺序线性表中有n个数据元素,删除第i个位置上的数据元素需要移动表中( )个元素。
- 3
编程:已知Q是一个非空队列,S是一个空栈。编写算法,仅用队列和栈的ADT函数和少量工作变量,将队列Q的所有元素逆置。栈的ADT函数有:void makeEmpty(SqStack s); 置空栈void push(SqStack s,ElemType e); 元素e入栈ElemType pop(SqStack s); 出栈,返回栈顶元素int isEmpty(SqStack s); 判断栈空队列的ADT函数有:void enQueue(Queue q,ElemType e); 元素e入队ElemType deQueue(Queue q); 出队,返回队头元素int isEmpty(Queue q); 判断队空
- 4
在含有n个元素的顺序存储的线性表中,在任一元素前插入一个元素所需移动元素的平均次数为