首页 源文件 模板特效 教程素材 校园辅助
冲刺必会代码100题
会员:bjwj007        
  • 发布时间:
    2022-11-06
展示图片

冲刺必会代码100题
顺序表
1、已知线性表(a1,a2,…,an)按顺序结构存储且每个元素为不相等的整数。设计把所
有奇数移动到所有偶数前边的算法(要求时间最少,辅助空间最少)。
【算法思想】:对于顺序表L,从左向右找到偶数L.data[i],从右向左找到奇数
L.data[j],将两者交换。循环这个过程直到i 大于j 为止。对应的算法如下:
void move(SqList &L)
{
int i = 0, j = L.length-1, k;
ElemType temp;
while(i <= j)
{
while(L.data[i]%2 == 1)
i++; //i 指向一个偶数
while(L.data[j]%2 == 0)
j--; //j 指向一个偶数
if(i < j)
{
temp = L.data[i]; //交换L.data[i]和L.data[j]
L.data[i] = L.data[j];
L.data[j] = temp;
}
}
}
本算法的时间复杂度为O(n),空间复杂度为O(1)。
2、设计一个高效算法,将顺序表L 中所有元素逆置,要求算法的空间复杂度为O(1)。
【算法思想】:扫描顺序表L 的前半部分元素,对于元素L.datai,将其与后半部分对
应元素L.data[L. length-i-1]进行交换。对应的算法如下:
void reverse(

感谢 会员:bjwj007 分享资源,亦感谢资源原作者为我们提供如此优秀资源,如果此资源对您有帮助,请购买正版以支持作者!
---------------------------
此资源仅供个人学习、研究免费使用,禁止非法转播。
免责申明:本资源由 会员:bjwj007 搜集整理发布,版权归原作者及发布者所有,您如有异议请
举报 或者 版权申诉
六出奇e站内部资源仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!
六出奇e站内部资源不提供任何保证,并不承担任何法律责任。
如果该资源对您的版权或者利益造成损害,请提供相应的资质证明提交
版权投诉,我们将于3个工作日内予以处理。
六出奇e站内部资源采用 BY-NC-SA 协议进行授权 转载请注明原文链接:
冲刺必会代码100题 http://m.lcqez.com/ziyuan/15962.html

  1. 作品分类
  2. 编程学院  

  3. © 版权     

相关信息