2007《数据结构》期末试卷_A_答案.doc

2007《数据结构》期末试卷_A_答案

一、(本题10分) (1)简述线性表的两种存储结构的主要优缺点及各自适用的场合。 (2)在折半查找和表插入排序中,记录分别应使用哪种存储结构,并用一句话简述理由。 答:(1)顺序存储是按索引(如数组下标)来存取数据元素,优点是可以实现快速的随机存取,缺点是插入与删除操作将引起元素移动,降低效率。对于链式存储,元素存储采取动态分配,利用率高。缺点是须增设指针域,存储数据元素不如顺序存储方便。优点是插入与删除操作简单,只须修改指针域。 (2)在折半查找中,记录使用顺序存储,可以快速实现中点的定位;在表插入排序中,记录使用静态链表,可以降少移动记录的操作。 二、(本题15分)在带头结点的非空线性链表中,试设计一算法,将链表中数据域值最小的那个结点移到链表的最前面,其余各结点的顺序保持不变。要求:不得额外申请新的链结点。 解:程序如下: typedef struct node { int data; struct node * next; }Node,*LinkList; void MinFirst(LinkList L) {Node *p,*q,*ptrmin; if(L-next == NULL) return; //空表 ptrmin = L; //ptrmin指向当前最小结点的前一个结点 p = L-next;//p指向当前结点的前一个结

文档评论(0)

1亿VIP精品文档

相关文档