![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
王道书上算法习题【C++版本】
本专栏上的算法题主要来自于王道书的习题,包括思路分析,注释,祝你早日上岸
FlyingBuffer
不断学习,不断进步
展开
-
基础算法题2
题目: 从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行 算法思想: 搜索整个顺序表,查找最小值元素并记住其位置,搜索结束后用最后一个元素填补空出的最小值元素位置。 代码如下: bool Delete_min(Sqlist &L,ElemType &Value){ if(L.length==0) //判断线性表是否为空,为空就返回失败 return false; Value=L.data[0].原创 2021-12-14 22:07:59 · 578 阅读 · 0 评论 -
基础算法题1
题目: 设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1) 算法思想: 扫描顺序表L的前半部分元素L.data[i] (0<=i<L.length/2),将其与后半部分的对应元素L.data[L.length-1-i]进行交换 代码如下: void Reverse(Sqlist &L){ Elemtype temp; //辅助变量 for(i=0;i<L.length/2;i++){ temp=L.data[i]; //将前半部分元素放入辅助变量.原创 2021-12-14 21:13:09 · 187 阅读 · 0 评论