统计
  • 文章总数:
  • 会员总数:
  • 评论总数:
  • 分类总数:15 个
推荐教程素材

冲刺必会代码100题

天赐龙翼资源推荐信息摘要:

冲刺必会代码100题顺序表1、已知线性表(a1,a2,…,an)按顺序结构存储且每个元素为不相等的整数。设计把所有奇数移动到所有偶数前边的算法(要求时间最少,辅助空间最少)。【算法思

// 天赐龙翼资源推荐信息详细内容: //

冲刺必会代码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(

 
本文来自互联网,不代表本站立场,如若转载,请注明出处:http://www.tiancilongyi.cn/nr/new166769870620019.html
本站资源仅供学习者本地搭建学习参考使用,本站不存储任何资源文件,敬请周知!请在本地测试研究完成之后删除本资源,请不要商业使用或者传播!如需要商业使用,请自行联系版权方获取授权!
天地人网引爆流量全渠道增长:揭秘流量突然破点,流量变现,月入上亿案例
« 上一篇
编程必备基础-音视频小白系统入门课
下一篇 »

会员信息

推荐

91赞, 阅读:595
153赞, 阅读:656
54赞, 阅读:708
137赞, 阅读:646
38赞, 阅读:948

标签TAG

热点文章