ICode9

精准搜索请尝试: 精确搜索
  • 数据结构与算法分析——C语言描述(第3章 表、栈和队列③)2022-09-10 09:00:47

    目录3.4 队列(Queue)ADT3.4.1 队列模型3.4.2 队列的实现3.4.2.1 队列的链表实现3.4.2.2 队列的数组实现3.4.3 队列的应用 3.4 队列(Queue)ADT 像栈一样,队列也是表。然而,使用队列时插入在一端进行而删除则在另一端进行。 3.4.1 队列模型 队列的基本操作: Enqueue(入队)——在表的末端

  • LC6952022-09-05 18:03:51

    //需要自己指定开始位置(循环寻找) int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; int vis[55][55]; int bfs(vector<vector<int>>& grid,int x,int y){ int res=1; queue<pair<int,int> > q; q.push({x,y}); vis

  • 归并排序2022-09-03 23:30:58

    需要额外空间的外部排序? 菜鸟教程版本 这个版本的写法很不一样, 首先,它每次都copy构造了两个子数组,然后再从这两个子数组中挑元素往原数组放 构造的两个子数组容量都+1,并且设置末尾值为max值,为了比较大小的时候方便 // 合并操作 void Merge(vector<int>& arr, int front, int m

  • 队列2022-08-28 21:31:06

    目录顺序队列链式队列循环队列优先队列 特别推荐这篇文章,大佬写的通俗易懂。

  • 队列2022-08-27 22:30:19

    一、结构体定义 1.顺序队 typedef struct { int data[maxSize]; int front,rear; }SqQueue; 2.链队 (1)队结点类型 typedef struct QNode { int data; struct QNode *next; }QNode; (2)链队定义 typedef struct { QNode *front,*rear; }LiQueue; 二、顺序队操作(循环队列) 1.队

  • P4944 题解2022-08-26 02:01:54

    前言 题目传送门! 或许更好的阅读体验? 这题算是一道中模拟? 码量不会很高,大概只有 \(100\) 至 \(150\) 行。 思路 输入地图。 注意,还不能读入蛇的行动指令,因为我们不知道有几条蛇。 使用广搜得出每条蛇的信息。 这个就是搜连通块,惟一不同的是,要使用队列存下这条蛇。 写一个死

  • crawl2022-08-25 19:32:41

    Crawl or crawling may refer to: Crawling (human), any of several types of human quadrupedal gait Limbless locomotion, the movement of limbless animals over the ground Undulatory locomotion, a type of motion characterized by wave-like movement patterns th

  • 马的遍历2022-08-24 14:34:32

    马的遍历 思路:首先要知道马走日字,可以走8个方向. 建立数组a和数组b,分别表示马一步可以走的横纵坐标的对应长度。 然后从马的起始位置(队首)开始向周围扩展,并依次记录步数。若扩展到的点在棋盘里且没有被搜到过,就入列。 当队首向外扩展完了,让当前队首出队,再由下一个队首继续

  • 循环队列2022-08-12 10:04:43

    循环队列定义概念为了解决顺序队列“假溢出”的缺陷,所以引入了循环队列。    关于顺序队列请参考:顺序队列。循环队列就是将顺序队列臆造成一个环状的空间(实际上不是,只是把它看成是环状的),即把存储队列元素的顺序表从逻辑上视为一个环。当队头指针 queue.front==MAXSIZE-1 时(即到

  • 银河英雄传说2022-08-07 20:30:45

    P1196 [NOI2002] 银河英雄传说 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) front数组代表每个点到队头的距离,x,y之间隔了几个舰队答案为abs(front[x]-front[y])-1; nums数组代表当前队伍一共有几个舰队 合并操作只需要将x,y对应祖先也就是fa(x),fa(y)也就是它们各自的队头front nums

  • 数据结构与算法【Java】01---稀疏数组与队列2022-08-07 10:35:26

    前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决. 程序 = 数据结构 + 算法 数据结构是算法的基础, 换言之

  • 数组模拟队列2022-08-04 01:01:23

    1 import java.util.Scanner; 2 //数组模拟队列 3 public class ArrayQueueDemo { 4 public static void main(String[] args) { 5 ArrayQueue arrayQueue = new ArrayQueue(3); 6 Scanner sc = new Scanner(System.in); 7 boolean lo

  • Java二分查找:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -12022-08-02 23:02:54

    给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 利用二分查找思想 class Solutio

  • 剑指 Offer 59 - II. 队列的最大值2022-07-27 19:02:19

    剑指 Offer 59 - II. 队列的最大值 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示例 1: 输入: ["MaxQueue","push_back","push_back","max_

  • day272022-07-23 12:01:18

    1.剑指 Offer 59 - I. 滑动窗口的最大值  单调队列 1 class Solution { 2 public: 3 vector<int> maxSlidingWindow(vector<int>& nums, int k) { 4 vector<int> res; 5 deque<int> q; 6 int n = nums.size(); 7 for(int i

  • 无重复字符的最长子串2022-07-21 15:32:13

    汪汪队,共进步!!! 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。   示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为

  • 2022.7.19 $\mathcal{S\,\,T\,L}$2022-07-19 22:34:34

    \(STL\) 容器的共有特征:.begin() .end()//表示最后一个元素的后面那个位置 .size()//无符号整型 .swap(b) ::iterator//迭代器 关于迭代器 迭代器可以看做是一个广义的指针,可以是指针,也可以是对其进行类似指针操作的对象。 list<int>::iterator it;//it是迭代器名称 list<int>a; f

  • 数据结构之循环队列2022-07-16 10:35:29

    //顺序循环队列,克服假溢出的缺点 #include<stdio.h> #define MaxSize 5#define ElemType int typedef struct node{ElemType data[MaxSize];int front_queue,rear_queue;}SqQueue; //初始化,将队列的前尾都赋值为零,代表是空队列void init_queue(SqQueue *Q){ Q->front_queue=0;

  • 数据结构之顺序队列2022-07-16 10:32:29

    //顺序队列,会有假溢出的缺点#include<stdio.h> #define MaxSize 5#define ElemType int   typedef struct node{ElemType data[MaxSize];int front_queue,rear_queue;}SqQueue; //初始化,将队列的前尾都赋值为零,代表是空队列void init_queue(SqQueue *Q){ Q->front_queue=0;

  • 洛谷-P2254 瑰丽华尔兹2022-07-15 21:01:34

    瑰丽华尔兹 \(dp\) + 单调队列优化 \(dp[k][i][j]\) 表示在第 \(k\) 次倾斜后 \(x = i\) 且 \(y = j\) 的位置上,能够滑动的最长距离,第一纬可以直接用滚动数组消除 显然每次倾斜都要对所有的状态进行更新,分四个方向进行更新,以向右滑动为例,有状态转移方程: \[dp[i][j] = \max_{k=t-j}

  • 循环队列的实现2022-07-13 21:36:01

    package com.practice; public class LoopQueue<E> implements Queue<E> { private E[] data; private int front,tail; private int size; public LoopQueue(int capacity){ data = (E[]) new Object[capacity + 1]; front =

  • 队列的链式存储2022-07-13 20:34:22

    1 #include <stdio.h> 2 #include <stdlib.h> 3 typedef struct node{ 4 int data; 5 struct node *next; 6 }LinkNode; 7 typedef struct{ 8 LinkNode *front,*rear; 9 }LinkQueue; 10 //初始化 11 bool InitQueue(LinkQueue *Q){ 12 Q-&

  • 循环队列(顺序存储)2022-07-13 20:04:48

    #include<stdio.h> #include<stdlib.h> #define MaxSize 10 //定义队列 typedef struct{ int data[MaxSize]; //存放队列元素 int front,rear; //定义队首指针和队尾指针 }SqQueue; //初始化队列 void InitQueue(SqQueue &Q){ Q.rear=Q

  • 队列 Queue2022-07-12 22:07:34

            package com.practice; import com.practice.Array.Array; public class ArrayQueue<E> implements Queue<E> { private Array<E> array; public ArrayQueue(int capacity){ array = new Array<>(capacity); }

  • 数组模拟队列代码实现2022-07-09 13:40:58

    代码实现如下: package com.liu.queue; import java.util.Scanner; public class MyQueue { public static void main(String[] args) { Queue queue = new Queue(3); char key = ' '; Scanner scanner = new Scanner(System.in);

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有