next;[br][/br]If (p==NULL || p->data>x) return NULL;[br][/br]Else return p;[br][/br](3元素按递减有序时的查找语句如下:[br][/br]P=L->next;[br][/br]While (p!=NULL && p->data>x)[br][/br]P=p->next;[br][/br]If (p==NULL || p->data[x) return NULL;
举一反三
- 判断正误[br][/br]( )1、链表的每个结点中都恰好包含一个指针。 [br][/br]( F )2、链表的物理存储结构具有同链表表达的逻辑结构有一样的顺序。 [br][/br]( F )3、线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。[br][/br]( F )4、顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 [br][/br]( F )5、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。[br][/br]( F )6、线性表在物理存储空间中也一定是连续的。[br][/br]( F )7、线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序也相邻。[br][/br]( F )8、线性表的逻辑顺序与存储顺序总是一致的。
- 有线性表(a1,a2,…,an),采用单链表存储,头指针为H,每个结点中存放线性表中一个元素,现查找某个元素值等于X的结点。分别写出下面三种情况的查找语句。要求时间尽量少。(1)线性表中元素无序。(2)线性表中元素按递增有序。(3)线性表中元素按递减有序。【北京邮电大学1994 七(7分)】
- 对于顺序存储的线性表,访问第i个结点和在第i个结点前插入结点的时间复杂度分别为()。 A: O(1)<br/>O(n) B: O(n)<br/>O(1) C: O(n)<br/>O(n) D: O(1)<br/>O(1)
- 每个存储结点只含一个数据元素,所有存储结点连续存放。此外增设一个索引表,[br][/br]索引表中的索引指示各存储结点的存储位置或位置区间端点。按这种方式组织起来的[br][/br]存储结构称为__1__。
- 顺序表的删除算法: 假设顺序表的长度为 n, (1)若在位序 1 处删除元素,则需要移动 () 个元素;[br][/br] (2)若在位序 n 处删除元素,则需要移动 () 个元素;[br][/br] (3)若在位序 i (1≤i≤n) 处删除元素,则需要移动 () 个元素;[br][/br] (4)假设各位序删除元素的概率相同,则平均需要移动 () 个元素。[br][/br] [br][/br] 注:请填写正确的C表达式。
内容
- 0
若线性表最常用的操作是存取第i个元素及其前驱的值,则采用( )存储方式节省时间。 [br][/br] [br][/br](单选题) A: 顺序表 B: 单链表 C: 单循环链表 D: 双链表
- 1
下列条件中:[br][/br](1)行列式主对角线上的元素全为零;[br][/br](2)三角形行列式主对角线上有一个元素为零;[br][/br](3)行列式零元素的个数多于n个;[br][/br](4)行列式非零元素的个数小于n个,[br][/br]使得n(n>2)阶行列式的值必为零是________. A: (1)或(2) B: (1)或(3) C: (2)或(3) D: (2)或(4)
- 2
算法设计:设计一个算法,通过一趟遍历在单链表中确定值最大的结点。[br][/br][算法描述][br][/br]DataType Max (LinkList *L )[br][/br]{[br][/br] if(L->next==NULL) [br][/br]return NULL;[br][/br] pmax=L->next; //假定第一个结点中数据具有最大值[br][/br]____空1____; [br][/br] while(p != NULL )[br][/br]{//如果下一个结点存在[br][/br] if(p->data > pmax->data) [br][/br]____空2____; //如果p的值大于pmax的值,则重新赋值[br][/br] p=p->next;//遍历链表[br][/br] }[br][/br] return pmax->data;[br][/br]}
- 3
将n(n≥1)个结点组织成何种形态的二叉排序树时,对其查找时的时间复杂度最佳?[br][/br][br][/br]
- 4
在一个单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行(<br/>)。 A: q-><br/>next = p->next;p->next<br/>= q; B: p->next<br/>= q->next;q<br/>= p; C: q->next<br/>= p->next;p<br/>= q; D: p->next<br/>= q->next;q->next<br/>= p;