没有合适的资源?快使用搜索试试~ 我知道了~
(完整word版)数据结构试题大题编程及参考答案.doc
0 下载量 41 浏览量
2022-11-18
15:41:56
上传
评论
收藏 2.31MB DOC 举报
温馨提示
试读
6页
(完整word版)数据结构试题大题编程及参考答案.doc
资源推荐
资源详情
资源评论
(完整 word 版)数据结构试题大题编程及参考答案
数据结构考试题参考答案
1、设顺序表 L 中的数据元素递增有序。试写一算法,将数据元素 x 插入到顺序表 L 的适当位置,以保持该
表的有序性。
解:存储结构为:
typedef struct SeqList
{ DataType *data;
int MaxLen;
int len;
}SeqList;
算法如下:
void insertLx(SeqList &L, DataType x)
{ if(L。len==L。maxlen) return;
int i=L。len-1;
while(i〉=0 && x〈L。data[i])
{ L。data[i+1]=L.data[i]; i=i—1;}
L.data[i+1]=x; L.len++;
}
2、试写一个算法,在带头结点的单链表 L 的元素 x 前插入一个结点 y。
解:存储结构如下:
typedef struct Lnode
{ElemType data;
struct Lnode *next;
}Lnode, *LinkList;
算法如下:
void insert_y_before_x(LinkList L, ElemType x, ElemType y)
{ Lnode *q, *p=L;
while(p—>next && p—〉next—>data!=x) p=p—〉next; //找 x 的前驱结点 p;
if(!p—>next) return; // 若不存在结点 x,则返回;
q=new Lnode;
q-〉data=y; q—>next=p—〉next; p—〉next=q;
}
3、试写一个算法,统计带头指针的单链表 L 的元素个数.
解:存储结构如下:
typedef struct Lnode
{ElemType data;
struct Lnode *next;
}Lnode, *LinkList;
算法如下:
int length(LinkList L)
{ int len=0;
Lnode *p=L;
while(p) { len++; p=p-〉next; }
return len;
}
注:如果单链表是带头结点的,则算法如下:
int length(LinkList L)
资源评论
智慧安全方案
- 粉丝: 3702
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功