云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 05到09年福建专升本数据结构真题详解

05到09年福建专升本数据结构真题详解

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 2:16:53

为非递减(从小到大)有序(如下图)。用指针current从head开始搜索数据域等于key的元素在线性表中位置,如果搜索成功则current指向搜索到的结点,函数返回该指针:如果搜索不成功,函数返回空指针NULL。请在函数

SortedlistLocate(head,key)

内填空,完成下列算法以实现这种搜索,并使得搜索不成功的平均比较次数小于链表长度。(发现current指向结点的数据域比key大,则停止搜索,后面肯定没有key,搜索失败。这样就没有必要走到链表的尾部,不成功的平均比较次数=(0+1+2+..+n)/(n+1)=n/2)

注意:有头结点,是单循环链表。空表如下

typedef struct node{

elemtype data;/*数据域*/ struct node next;/*指针域*/ }lnode,*linklist;

注意typedef,lnode和linklist是类型名 linklist SortedlistLocate ( linklist head,

elemtype key){

linklist current;

if(_head==NULL_)return ERROR;

/*错误提示*/

current ___=head->next____;

/*循链搜索其值等于key的结点*/

while(_current!=head_&&_current->data

current=current-->next;

/*排除空表*/

if ( _ current !=head && current->data==key _) return current; /*找到,返回结点地址*/ else

return NULL; /*末找到,返回空指针*/ }

25.r[]为一维数组,其中r[0]到r[n-1]为待排序的n个元素,排序好的元素仍放在r[0]到r[n-1]中。请写出对该数组进行非递减排序的直接插入排序算法, 取名为InsertSort(elemtype r[],int n)。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

为非递减(从小到大)有序(如下图)。用指针current从head开始搜索数据域等于key的元素在线性表中位置,如果搜索成功则current指向搜索到的结点,函数返回该指针:如果搜索不成功,函数返回空指针NULL。请在函数 SortedlistLocate(head,key) 内填空,完成下列算法以实现这种搜索,并使得搜索不成功的平均比较次数小于链表长度。(发现current指向结点的数据域比key大,则停止搜索,后面肯定没有key,搜索失败。这样就没有必要走到链表的尾部,不成功的平均比较次数=(0+1+2+..+n)/(n+1)=n/2) 注意:有头结点,是单循环链表。空表如下 typedef struct node{ elemtype data;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com