```C /** * 从表头到表尾逆向创建链表 */ void CreateList(LinkList * L, int n) { *L = (LinkList)malloc(sizeof(LNode)); /* 建立头结点 */ (*L)->next = NULL; LinkList p; for... ...
分类:
其他好文 时间:
2019-10-03 10:32:57
阅读次数:
96
一、常用数据结构: 1. list http://www.cplusplus.com/reference/list/list/ https://www.geeksforgeeks.org/list-cpp-stl/ 表示双向链表;单向链表用forward_list; 可以在常数时间复杂度内进行插入和 ...
分类:
编程语言 时间:
2019-10-02 16:34:46
阅读次数:
76
什么是约瑟夫问题 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一 ...
分类:
编程语言 时间:
2019-10-02 16:34:27
阅读次数:
91
什么是单向循环链表 单向循环链表基本与 "单向链表" 相同,唯一的区别就是单向循环链表的尾节点指向的不是null,而是头节点(注意:不是头指针). 因此,单向循环链表的任何节点的下一部分都不存在NULL值。 由于单向循环链表的特性,它在处理一些环状数据的时候十分有效.大名鼎鼎的约瑟夫环问题就可以用循 ...
分类:
编程语言 时间:
2019-10-01 00:06:02
阅读次数:
154
集合中常用的数据结构 一)、栈 栈的特点:先进后出 二)、队列 队列的特点:先进先出 三)、数组 数组的特点:查询快,增删慢 查询快的原因:数组的地址连续,通过地址可以找到数组,通过索引可以找到元素。 如:一个班的学生按学号排列在一起,你想找一个同学,通过学号你很快就能找到 增删慢的原因:增删需要做 ...
分类:
其他好文 时间:
2019-09-29 21:28:57
阅读次数:
116
单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。 表元素域elem用来存放具体的数据。 链接域next用来存放下一个节点的位置(python中的标识) 变量p指向链 ...
分类:
其他好文 时间:
2019-09-24 08:01:42
阅读次数:
70
双向链表 管理单向链表的缺点分析: 1、单向链表,查找的方法只能是一个方向,而双向链表可以向前或者向后查找 2、单线链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除。 应用实例:使用带 head 头的双向链表实现 — 水浒英雄排行榜 双向链表如何完成遍历,添加,修改和删除的思路示意图: ...
分类:
其他好文 时间:
2019-09-22 10:39:34
阅读次数:
91
1,链表是以节点的方式来存储的; 2,每个节点包含data域、next域:指向下一个节点; 3,链表的每个节点不一定是连续的; 4,链表分带头节点的链表,和不带头节点的链表,根据实际情况来决定。 带头节点的单向链表 头节点 1,存放具体数据 2,作用就是作为单链表的头 带头节点的单链表 添加(创建) ...
分类:
其他好文 时间:
2019-09-21 11:08:49
阅读次数:
87
需要考虑因素,高效应权衡多方面因素数据量是否会很大空间是否有限制原始链表的结构是否可以更改时间复杂度是否有限制一个链表节点需要输出的元素有多个,例如链表中存的是自定义对象,有多个字段题目。01.先学着实现一个简单的Java版的单项链表构建任意长度的任意数值的链表,头插法,顺序遍历输出链表packagecom.szs.list;/***单链表*@authorAdministrator**/publi
分类:
其他好文 时间:
2019-09-17 22:42:07
阅读次数:
214
阿里面试题 1. 如何实现一个高效的单向链表逆序输出? 1. 如何实现一个高效的单向链表逆序输出? 2. 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位 2. 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位 3. 给 ...
分类:
编程语言 时间:
2019-09-06 22:54:43
阅读次数:
118