一.顺序队列的改进 队列元素的出列是在队头,即下标为0的位置,那也就意味着,队列中的所有元素都得向前移动,以保证队列的队头(也就是下标为0的位置)不为空,此时的时间复杂度为0(n)。 可有时想想,为什么出队列时一定要全部移动呢,如果不去限制队列的元素必须存储在数组的前n个单元这一条件,出队的性能就会 ...
分类:
其他好文 时间:
2020-06-15 19:21:55
阅读次数:
93
出现的原因 空对象打点调用其他内容 解决方案 谁打点调用了东西那就是谁null,将点前面的对象变成非空 具体实例 1 package com.shuzu; 2 ? 3 public class Test8 { 4 public static void main(String[] args) { 5 ...
分类:
编程语言 时间:
2020-06-15 18:06:50
阅读次数:
72
iOS中野指针问题叙述 野指针就是指向一个已删除的对象或者受限内存区域的指针。我们写C++的时候强调指针初始化为NULL,强调用完后也为其赋值为NULL,谁分配的谁回收,来避免野指针的问题。比较常见的就是这个指针指向的内存,在别处被回收了,但是这个指针不知道,依然还指向这块内存。MRC 时代因为引用 ...
分类:
移动开发 时间:
2020-06-15 13:50:49
阅读次数:
91
题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 如果用一个个数检测,时间复杂度高,通不过 需要用累乘的方法,用已有的丑数得到后面的丑数,直到第N个 每一个 ...
分类:
其他好文 时间:
2020-06-15 12:20:56
阅读次数:
43
双指针 思路: 创建一个空的头结点dummy,头节点的下一节点是head。用cur指向当前要处理去重的节点,pre指向上一个完成去重的节点。初始状态pre = dummy,cur = pre.next。开始对cur进行处理,如果cur.next.val == cur.val,while遍历更新cur ...
分类:
编程语言 时间:
2020-06-15 12:15:09
阅读次数:
58
直接法 思路: 将结点的值与它之后的结点进行比较来确定它是否为重复结点。如果它是重复的,我们更改当前结点的 next 指针,以便它跳过下一个结点并直接指向下一个结点之后的结点。 代码: # Definition for singly-linked list. # class ListNode: # ...
分类:
编程语言 时间:
2020-06-15 12:01:15
阅读次数:
55
1 2 int main(void) 3 { 4 int a=1; 5 char *pp; 6 void *p=&a; 7 p++; 8 p+=a; 9 pp=(char *)p; 10 pp+=a; 11 //(char *)p +=a; 12 } (char *)p +=a; 会报左值错误 Th ...
分类:
其他好文 时间:
2020-06-15 11:58:51
阅读次数:
48
Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutin ...
分类:
编程语言 时间:
2020-06-15 00:01:04
阅读次数:
85
如果在构造函数中使用new来初始化指针成员,则应在析构函数中使用delete new和delete必须相互兼容。new对应于delete,new[]对应于delete[] 如果有多个构造函数,则必须以相同的方式使用new,要么都带中括号,要么都不带。因为只有一个析构函数,所有的构造函数都必须与它兼容 ...
分类:
编程语言 时间:
2020-06-14 23:35:43
阅读次数:
87
第六章主要学习了:图图的存储方式学了邻接矩阵和邻接表。 邻接矩阵就是二维数组邻接表有三个结构:1:头结点,有data和指向第一个结点的指针,后面就是它连接的结点。2:结点,data和next指针。3:头结点集合成表,头结点【N】边数【】点数【】邻接矩阵优点: 1。易判断两点是否有边 2。易计算点的度 ...
分类:
其他好文 时间:
2020-06-14 23:18:39
阅读次数:
63