1、若用一个大小为6的数组实现循环队列,队头指针front指向队首元素,队尾指针rear指向队尾元素的后一个位置。若当前rear和front的值分别为0和3,出队1个元素,入队2个元素,rear和front的值分别为:____ (A) A. 1,5 B. 2,4 C. 4,2 D. 5,1 分析: ...
分类:
其他好文 时间:
2018-09-24 18:57:49
阅读次数:
190
#include <cstdio>#include <cstdlib>#include <iostream>using namespace std;struct List{ int date; List *next;};void creat(List *head) //往头指针后加,倒序{ List ...
分类:
其他好文 时间:
2018-09-24 17:18:27
阅读次数:
139
删除: 算法思想 插入 算法思想 代码实现: 查找 1.按序号查找 算法思想 要查找带头结点的单链表中第i个结点,则需要从单链表的头指针L出发,从头结点L->nexrt顺着链域扫描,用指针p指向当前扫描的结点,j做计数器,累积当前扫描的结点数(初始值为0),j==ii时,指针p指向的就是要找到第i个 ...
分类:
其他好文 时间:
2018-09-23 15:10:08
阅读次数:
135
题目描述 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。 import java.util.*; /* public class L ...
分类:
其他好文 时间:
2018-09-20 01:08:27
阅读次数:
142
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。 思路 通常那样从头开始查找删除需要的时间为O(n),要在O(1)时间删除某结点,可以这样实现:设待删除结点i的下一个结 ...
分类:
编程语言 时间:
2018-09-18 17:23:36
阅读次数:
187
注:玩的是JDK1.7版本 一:先上类的继承结构图 二:再看一下他的底层实现数据结构 三:然后从源码中找点好玩的东西 1)双向链表的结构构成元素,头指针、尾指针、节点信息(前向指针、后向指针、节点信息) 2)在链表尾部添加新节点,只需要改变链表尾指针的指针指向就可了,所以,性能相对 ArrayLis ...
分类:
编程语言 时间:
2018-09-11 21:08:27
阅读次数:
235
这道题需要借助哈希查找key的O(n) 时间复杂度, 否则就会超时 初始化一个 哈希表\字典 dic 头指针start 初始为0 当前指针 cur 初始为0 最大长度变量 l 初始为0 用cur变量从给定字符串str的开头开始 一位一位的向右查看字符,直到整个字符串遍历完, 对每一位字符进行如下: ...
分类:
编程语言 时间:
2018-09-06 21:32:56
阅读次数:
233
模板(各种类型通用): template<class 模板名> 注意:若要使用模板,在每个自定义函数前都必须加上此定义。 排序(algorithm头文件): sort(头指针l,尾指针r):(void)将左闭右开区间[l,r)中的元素从小到大排序。时间复杂度O(nlogn)。 sort(头指针l,尾 ...
分类:
编程语言 时间:
2018-09-05 23:50:25
阅读次数:
190
#include #include typedef struct Node { int data; struct Node *next; } node; /*初始化链表: 1.首先给头指针分配空间,将头指针赋给temp 2.其次给每一个元素分配空间 3.将内容赋给当前节点的data,NULL赋给当前... ...
分类:
编程语言 时间:
2018-09-05 20:02:35
阅读次数:
218
以下暂时只写明一些基本操作,待续。 一、简介 链表是动态分配存储空间的链式存储结构。 链表包括一个“头指针”变量,其中第0个结点称为整个链表的头结点,头结点中存放一个地址,该地址指向一个元素,头结点一般不存放具体数据,只是存放第一个结点的地址。链表中每一个元素称为“结点”,每个结点都由两部分组成:存 ...
分类:
编程语言 时间:
2018-09-02 17:12:21
阅读次数:
195