本节代码主要来自王道单科18页的综合应用题。 二、18页第2题。设计一个高效的算法,将顺序表的所有元素逆置,要求算法的空间复杂度为O(1) 核心代码: 可以有两种方式: 第一种:定义两个循环指针i,j,其中i向后遍历,j向前遍历,这种更好记忆。 第二种:j没有定义出来,用i和L.length(即L. ...
分类:
其他好文 时间:
2018-06-02 14:26:27
阅读次数:
242
嗯,,这是自己写的第一篇博客哈,写的不好大家不要见怪,主要是想把自己的一些思想分享给大家。也欢迎大家指出错误,一同进步。 话不多说,直接先说想法。要把一个单链表逆置,可以大致分为下列几步。先创建一个链表。然后要考虑到链表的逆置实现。最后是链表的输出。有了这样过几步大概的想法之后,我们便要来一步步的实 ...
分类:
编程语言 时间:
2018-05-30 21:28:34
阅读次数:
309
判定链表是否为回文 方法一:借助一个栈,将链表节点值全部压入栈中,再弹出,依次比较。本质是把链表节点值逆置,然后与原链表节点值比较。全部相等则为回文。 方法二:先计算链表长度,把前半部分链表逆置,然后比较新链和剩下那段链节点值是否依次相等。 ...
分类:
其他好文 时间:
2018-05-24 16:36:51
阅读次数:
138
链表翻转,简单地理解,就是将链表的头部结点变为链表的尾部结点,与此同时将原链表的尾部结点变成头部结点。如下图所示: 图 1 链表翻转示意图 提示:H 为头指针,图示中的链表无头结点,头指针直接指向首元结点。 将链表进行翻转的方法有多种,本节给大家介绍两种实现方法。 方法一 实现链表翻转最直接的方法就 ...
分类:
其他好文 时间:
2018-05-23 11:56:51
阅读次数:
207
实验一 动态链表的设计与应用 1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 2.遍历单向链表。 3.把单向链表中元素逆置(不允许申请新的结点空间)。 4.在单向链表中删除所有的偶数元素结点。 5.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非 ...
分类:
其他好文 时间:
2018-05-07 15:31:08
阅读次数:
267
题目描述 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用 ...
分类:
其他好文 时间:
2018-05-02 16:01:43
阅读次数:
109
#include #include #include typedef struct list LIST; struct list { int data; struct list *next; }; void print_list(struct list *p) { struct list *head... ...
分类:
其他好文 时间:
2018-05-02 02:58:33
阅读次数:
184
1.for,while循环遍历 2.添加元素 append 通过append可以向列表添加元素 结果: extend 通过extend可以将另一个集合中的元素逐一添加到列表中 insert insert(index, object) 在指定位置index前插入元素object del:根据下标进行删 ...
分类:
编程语言 时间:
2018-04-27 02:37:51
阅读次数:
228
Problem D: 逆置链式链表(线性表) Description 本题只需要提交填写部分的代码 (线性表)试编写算法将线性表就地逆置,以链式存储结构实现。 代码: #include <stdio.h>#include <malloc.h>struct Num{ int n; struct Num ...
分类:
其他好文 时间:
2018-04-20 22:09:25
阅读次数:
346
文件压缩与解压缩> 近期这段时间一直在学习树的这样的数据结构,也接触到了Huffman树以及了解了什仫是Huffman编码,而我们经常使用的zip压缩也是利用的Huffman编码的特性,那仫是不是能够自己实现一个文件压缩呢?当然能够了.在文件压缩中我实现了Huffman树和建堆Heap的代码,zip ...
分类:
其他好文 时间:
2018-04-06 12:26:55
阅读次数:
182