数据结构(王道)【线性表】【算法1.1-1.2】
来源:互联网 发布:淘宝上的电话卡可信吗 编辑:程序博客网 时间:2024/06/11 21:55
题目和答案来自数据结构(王道)线性表
题目:从顺序表中删除具有最小值元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为
空则显示错误信息并退出运行。
bool Del_Min(Sqlist &L, ElemType &value){ // 删除顺序表L中最小的元素结点,并通过引用型参数value返回其值 // 如果删除成功,返回true;否则,返回 false if (L.length == 0) return false; // 表空,终止操作返回 value = L.data[0]; int pos = 0; // 假定0号元素最小 for (int i = 1; i < L.length; i++) { if (L.data[i] < value) { // 让value记忆当前具有最小值的元素 value = L.data[i]; pos = i; } L.data[pos] = L.data[L.length - 1]; // 空出的位置由最后一个元素填补 L.length--; return true; } }
注意:本题也可以利用函数值返回,两者的区别是:函数值返回只能返回一个值,而参数返回(引用传参)则可以返回多个值。
2.设计一个高效的算法,将顺序表的所有元素逆置,要求算法的空间复杂度为O(1)。
// 算法思想:扫描顺序表L的前半部分元素,对于元素L.datai,将其余半部分对应元素L.data[L.length-i-1]进行交换。
void Reverse(Sqlist &L) { ElemType temp; for (i = 0; i < L.length / 2; i++) { temp = L.data[i]; // 交换L.data[i]与L.data[length-i-1] L.data[i] = L.data[L.length - i - 1]; L.data[L.length - i - 1] = temp; }}
0 0
- 数据结构(王道)【线性表】【算法1.1-1.2】
- 数据结构(王道)【线性表】【算法1.3】
- 【算法和数据结构】1.1--数据结构之线性表
- 数据结构与算法 线性表
- 数据结构与算法--线性表
- 数据结构与算法---线性表
- 数据结构与算法--线性表
- 数据结构 算法、线性表、顺序表
- 数据结构之线性链表的算法
- 数据结构 线性表算法的实现
- 数据结构与算法(C#)--线性表
- 算法与数据结构(1)--线性表
- 数据结构与算法(5)--线性表
- 数据结构与算法(二)线性表
- 数据结构与算法之----线性表
- 数据结构与算法-----双向线性链表
- 【数据结构与算法分析】线性表
- [数据结构与算法] 3,线性表
- 简单冒泡排序的时间复杂度及其两种优化
- html和CSS
- 线程池的原理及实现
- Android开发之USB数据通信
- 京东商城的商品分类代码
- 数据结构(王道)【线性表】【算法1.1-1.2】
- 一条sql查询包含自动扩展和不自动扩展表空间使用率
- 多线程的基本信息
- 9-8访问子结点childNodes
- 2015新交规扣分标准规定
- iOS开发上下滑动UIScrollview隐藏或者显示导航栏
- SpringMVC+Hibernate+Spring使用websevice报错
- iOS开发常用国外网站清单
- 实例指导你 利用控制台(cmd) 完成github中项目管理