1 /*将带头结点的链表进行逆置*/ 2 /* 3 算法思想:设逆置链表尾空,将原链表中的结点依次删除后,按头插法插入逆置链表中,直至 4 原链表为空 5 */ 6 void Reverse(LinkList& L) 7 { 8 LNode *p, *q; 9 p = L->next; 10 L->... ...
分类:
其他好文 时间:
2019-10-09 22:28:25
阅读次数:
109
1 #include 2 #include 3 #include 4 int main() 5 { 6 int m,i,j,k,p,mark=1,n,t; 7 int math[1000000]; 8 scanf("%d",&n); 9 for(i=0; i<n; i++) 10 { 11 scan... ...
分类:
编程语言 时间:
2019-10-08 14:17:25
阅读次数:
154
一.线性表的逆置算法( a[ 1] ..... a[ n ]) 逆置为( a[ n ] ...... a[ 1 ]) (1)一维数组作存储结构 (2)单链表作为存储结构 二.二叉树:知道前序遍历、中序遍历、后序遍历任意两种即可求出该棵二叉树的形态。 三.求二叉树高度的算法: 四.判断循环队列是否满的 ...
分类:
其他好文 时间:
2019-10-04 22:52:46
阅读次数:
170
顺序表应用4:元素位置互换之逆置算法 Time Limit: 10 ms Memory Limit: 570 KiB Problem Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素( ...
分类:
编程语言 时间:
2018-08-16 14:56:03
阅读次数:
158
Q:设计一个高效的算法,将顺序表的所有元素逆置,要求算法的空间复杂度是O(1); A:此算法复杂度对应王道练习中第一章第二题,算法的主要思想如下: (1)扫描顺序表的前半部分元素,对于L.data[i](i大于等于0小于L.length-1) (2)将其余后半部分对应元素L.data[L.lengt ...
分类:
编程语言 时间:
2018-06-15 22:37:44
阅读次数:
170
题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1)。所谓“就地”指辅助存储空间为O(1)。
解题思路:
如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第n/2个元素与第...
分类:
其他好文 时间:
2015-01-08 21:42:52
阅读次数:
258