问题描述:编写一个顺序表的成员函数,实现对顺序表就地逆置的操作。所谓逆置,就是把(a1,a2,a3,...,an)变成(an,an-1,..,a2,a1);所谓就地,即逆置后的数据元素仍在原来顺序表的存储空间中 涉及变量:temp:Object型变量,用作中转站 ...
Q:设计一个高效的算法,将顺序表的所有元素逆置,要求算法的空间复杂度是O A:此算法复杂度对应王道练习中第一章第二题,算法的主要思想如下: 扫描顺序表的前半部分元素,对于L.data i i大于等于 小于L.length 将其余后半部分对应元素L.data L.length i 进行交换。 总结:其实主要在于对第二个for循环的理解,这也是核心代码,借助辅助变量value进行一个交换 ,这种在很 ...
2018-06-15 21:49 1 4477 推荐指数:
问题描述:编写一个顺序表的成员函数,实现对顺序表就地逆置的操作。所谓逆置,就是把(a1,a2,a3,...,an)变成(an,an-1,..,a2,a1);所谓就地,即逆置后的数据元素仍在原来顺序表的存储空间中 涉及变量:temp:Object型变量,用作中转站 ...
...
顺序表创建和就地逆置 本题要求实现顺序表的创建和就地逆置操作函数。L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListReverse_Sq(SqList &L)是在不引入辅助数组的前提下将顺序表中的元素进行逆置,如原顺序表元素依次为 ...
1.问题描述 如何实现简单快速的实现单链表的逆置。(要求时空复杂度尽量低。) 2.问题解法 最简单的一个思路是遍历一遍链表,存储到临时数组,然后利用这个临时数组重新建立一个新的链表。这样的话时间复杂度暂且认为是O(n),但是却需要O(n)的空间复杂度。下面说另外一种不需要辅助空间 ...
问题描述: 对于一个一维数组,将其中的元素逆置输出! 解决方法一: 前后端数据交换 结果 ,由于将数组定义为object,所以数组的元素可以是任意类型,但这样会有一个问题,就是数组要想比较大小的时候就麻烦了,可以考虑使用泛型来实现! 解决方法二:采用泛型实现 Msdn ...
读入100个整数到一个数组中,写出实现该数组进行逆置的算法。 方法一: 假设100个整数读入到数组a中,算法f1的思想是分别从数组两端依次将对应数进行交换,即a[i]与a[100 - i - 1]进行交换,i = 0~49。f1所需要的辅助变量为2个整型变量i和temp,与问题的规模无关 ...
解法2 ...
链表是一个特殊的数据结构,其中每个节点包含自己的数据以及下一个值的引用(指针),链表的逆置就是指将链表下一个值的引用(指针)调换,如下图所示: 链表的节点的结构如下: data为自定义的数据,next为下一个节点的地址 一 构造链表 class Node ...