题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4016 直接用栈爆内存,看网上大神用数组实现的,构思巧妙,学习了! AC代码: 我写的代码,不能AC / Memory Limit Exceeded / includ ...
分类:
其他好文 时间:
2019-04-27 12:46:32
阅读次数:
153
之前曾写过一个通过C++11的condition_variable实现的有最大缓存限制的队列,底层使用std::queue来实现,如果想要提升性能的话,可以考虑改用固定的长度环形数组。环形数组实现如下: 关于上面的环形数组,简单的单元测试代码如下,这里使用了catch2,如下代码需要放在.cpp文件 ...
分类:
编程语言 时间:
2019-04-27 00:27:09
阅读次数:
169
1. LinkedList简介 可以看到LinkedList类继承AbstractSequentialList类,实现了List, Deque, Cloneable, java.io.Serializable接口。实现List接口,实现对列表的增删改查操作,并且元素可以为null,实现Deque接口 ...
分类:
编程语言 时间:
2019-04-26 21:17:28
阅读次数:
171
1.堆是什么? (如图所示是一个小堆) 1)堆是一颗完全二叉树,它的最后一层不是满的,其他每一层都是满的,最后一层从左到右也没有空隙。 简单的说? 完全二叉树也就是没有缝隙的二叉树。 2)堆常常通过数组实现,因为 父子节点直接的关系直接可以通过数组的索引换算 parent(i) = i/2 left ...
分类:
其他好文 时间:
2019-04-25 17:24:56
阅读次数:
163
题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<stdlib.h>Fun(intarr,intlen){intp=arr;intq=arr+len-1;inttmp=0;while
分类:
编程语言 时间:
2019-04-22 14:02:22
阅读次数:
164
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 法一: 法二: ...
分类:
编程语言 时间:
2019-04-21 17:16:26
阅读次数:
153
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 分析 贴出代码 ...
分类:
编程语言 时间:
2019-04-14 15:58:08
阅读次数:
137
package com.yudaodata.protocol809.task;import java.util.Arrays;import java.util.EmptyStackException;public class ArrayStack<T> { private Object[] elem ...
分类:
编程语言 时间:
2019-04-12 17:47:44
阅读次数:
160
目录介绍 01.栈由简单数据实现 1.1 简单数组代码实现 1.2 可能出现问题 1.3 性能和局限性 02.栈由动态数组实现 2.1 基于简单数组存在问题 2.2 第一种解决办法 2.3 第二种解决办法 2.4 动态数组实现栈代码 2.5 性能和局限性 03.栈由链表实现 3.1 使用链表的优势 ...
分类:
其他好文 时间:
2019-04-09 13:59:01
阅读次数:
172
哎喂,别急着看啊,我还没有编辑好就误点发布了,今天晚上开完会回去就整理好,第二天回来看啊! 一.链表 动态数组、栈、队列底层都是依托静态数组实现的,靠resize来解决固定容量问题。 链表是真正的动态数据结构,是一种最简单的一种动态数据结构。 更深入的理解引用(或者指针)。 更深入的理解递归。 辅助 ...
分类:
其他好文 时间:
2019-04-08 21:16:31
阅读次数:
181