【数据结构】程序填空题

  1. 假设顺序表的长度为 n
  • 【插入操作】
  • 若在位序 1 处插入元素,则需要移动(n)个元素
  • 若在位序 n+1 处插入元素,则需要移动(0)个元素
  • 若在位序 i (1≤i≤n+1) 处插入元素,则需要移动(n-i+1)个元素
  • 假设各位序插入元素的概率相同,则平均需要移动(n/2)个元素
  • 【删除操作】
  • 若在位序 1 处删除元素,则需要移动(n-1)个元素
  • 若在位序 n+1 处删除元素,则需要移动(0)个元素
  • 若在位序 i (1≤i≤n+1) 处删除元素,则需要移动(n-i)个元素
  • 假设各位序删除元素的概率相同,则平均需要移动((n-1) /2)个元素
  1. 已知循环队列的结构定义如下:element 为存储队列数据元素的数组,front 为队首元素的下标,rear 为队尾元素下一位置的下标,length为数组容量
  • 初始状态下,设置queue队列为空:this.front = this.rear = 0
  • 判断 queue 队列为空的条件是:this.front == this.rear
  • 判断 queue 队列为满的条件是:this.front == (this.rear +1) % this.element.length
  • 若queue队列不满,则入队列的操作是:this.rear = (this.rear +1) % this.element.length
  • 若queue队列不空,则取队首元素的操作是返回:this.element[this.front]
  • 若queue队列不空,则出队列的操作是:this.front = (this.front+1) % this.element.length
  1. 在带头结点的单链表中删除结点,需将指针从头结点开始向后移动,到达前驱结点处。假设单链表的长度为 n:
  • 若在位序 1 处删除元素,则需要移动(0)次指针
  • 若在位序 n 处删除元素,则需要移动(n-1)次指针
  • 若在位序 i(1≤i≤n) 处删除元素,则需要移动(i-1)次指针
  • 假设各位序删除元素的概率相同, 则平均需要移动 ((n-1) / 2)次指针
  1. 完成两个有序顺序表的合并操作:函数merge用于将两个顺序存储的递增有序表合并成一个非递减有序表。如“1,2,3,4”和“2,3,5 ,8,10”合并成“1,2,2,3,3,4,5,8,10”。
    在这里插入图片描述

  2. 单链表插入操作
    在这里插入图片描述

  3. 链表的插入和删除:本题完成加头监督元链表的表头插入和删除,并将结果输出
    在这里插入图片描述

  4. 创建单链表(尾插法)
    在这里插入图片描述

  5. 头插入法建立单链表:题目要求使用C语言,完成头插入法建立单链表。输入-1表示输入结束
    在这里插入图片描述

  6. 建立单链表:本题要求建立单链表。例如,对于给出的输入数据1 2 3 4,建立的单链表如下图所示。
    在这里插入图片描述

  7. 链栈入栈出栈操作
    在这里插入图片描述

  8. 入链栈和出链栈
    在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值