线性表逆置

作者: sakura579 | 来源:发表于2020-08-05 18:32 被阅读0次

顺序表



无论是偶数个还是奇数个
都可以是i<j时循环就一直进行下去
否则跳出循环

没有必要分两套代码
一套代码就够了

顺序表的逆置


单链表逆置
一般逆置
会从p指针所指结点的后继结点 开始
一直到q指针所指结点 结束 之间的所有结点


单链表的逆置


删除结点 但是不free 然后把这个结点插入

到p->next等于q 就结束了

顺序表


让i 扫描 前k个位置 并交换
当k大于 表长的一半的时候
条件 i<j 来约束
否则有些元素多次交换


前k个(0~k-1) 逆置k个
前n个(0~n-1) 逆置k个
逆置两次


另一种想法 是前k个整体逆置


本章开头留的题 就可以解决了

0~p-1元素 逆置p个
p~n-1元素 逆置n-p个
0~n-1元素 逆置n个




第一问 思想
先逆置前半段
再逆置后半段
最后逆置整个

第三问
三个并列循环 都是线性级的
时间复杂度 O(n)

在保存序列的数组中折腾
没有额外的存储空间消耗
消耗的空间是常量
数组的空间不变
因此
空间复杂度O(1)

相关文章

网友评论

    本文标题:线性表逆置

    本文链接:https://www.haomeiwen.com/subject/fbcorktx.html